본 문서는 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 merge
나 git format-patch
를 수행할 필요가 있을 것이며 이후 emergency-fix 브랜치를 제거하면 될 것이다.
[출처] https://books.goalkicker.com/GitBook/ (CC BY-SA)
반응형
'번역 > Git Notes for Professionals' 카테고리의 다른 글
45: Git Remote (0) | 2020.04.20 |
---|---|
44.2: Worktree 이동시키기 (0) | 2020.04.16 |
44: Worktree (0) | 2020.04.14 |
43.9: 검색식에 부합하는 가장 최근 커밋 찾기: <rev>^{/<text>},:/<text> (0) | 2020.04.13 |
43.8: 브랜치와 tag 를 역참조 (de-reference) 하기: <rev>^0, <rev>^{<type>} (0) | 2020.02.25 |