GitNotes.44-1.md
본 문서는 Git Notes for Professionals (라이센스:CC-BY-SA) 를 한글로 번역한 문서입니다. 번역상 오류가 있을 수 있으므로 정확한 내용은 원본 문서를 참고하세요.

Section 44.1: worktree 사용하기

새로운 기능을 한창 구현하던 도중에, 긴급히 문제점 하나에 대한 수정 요청을 받은 상황을 가정해 보자. 보통은 이러한 상황에서 git stash 명령어를 사용하여 작업중이던 변경사항을 저장할 수 있겠으나, 작업 디렉토리의 변경 내역이 과도하여 (파일들이 새로이 생성되고, 이동되고, 삭제되었으며 수정사항들이 이곳저곳에 산재해 있는 등) 현재 진행상태에서 방해를 받고 싶지 않을 수 있다.

이러한 경우 임시로 연결된 (linked) worktree 를 추가하고, 긴급 수정 사항을 작성한 후, 작업 완료 후 해당 worktree 를 삭제함으로써 이전에 수행중이던 작업 내용을 방해받지 않고 이어나갈 수 있다:

$ git worktree add -b emergency-fix ../temp master $ pushd ../temp # ... 긴급 수정 사항 작성 ... $ git commit -a -m 'emergency fix' $ popd $ rm -rf ../temp $ git worktree prune

주의: 이 예제에서, 작성한 긴급 수정 사항은 여전히 emergency-fix 브랜치에 존재하는 상태이다. 이시점에서 git mergegit format-patch 를 수행할 필요가 있을 것이며 이후 emergency-fix 브랜치를 제거하면 될 것이다.

[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)

반응형

+ Recent posts