Git Worktree 실용 가이드

Git은 우리의 모든 문제에 대한 해결책을 가지고 있습니다. 어디를 봐야할지 알기만 하면 됩니다. 개발자로서 컨텍스트 전환은 몇 번 이상 고려해야 하는 작업의 일부입니다.

문제 설명



이것을 상상해보십시오. 아직 커밋되지 않은 파일을 여러 번 변경한 기능에 대해 작업 중이고 갑자기 핫픽스 또는 더 우선 순위가 높은 기능에 대한 작업이 필요한 경우. 이 문제를 해결할 수 있는 두 가지 방법이 있습니다.

  • Git Worktree 사용하기 (You are here! 📍)

  • 힘내 작업 트리 구조 🌳



    Git 작업 트리는 동일한 저장소에 연결된 여러 작업 트리를 관리하는 데 도움이 됩니다.

    In short, you can check out multiple branches at the same time by maintaining multiple clones of the same repository.



    우리의 문제로 돌아가자! 변경사항을 업데이트하시겠습니까? 새로운 기능? 핫픽스? 그것이 무엇이든 간에 다른 브랜치로 변경하고 현재 작업 디렉토리를 변경하지 않고 작업해야 합니다.

    새 기능이라고 가정하면 작업 흐름은 다음과 같습니다.
  • 프로젝트의 복제본을 만들고 새 분기로 전환합니다
  • .
  • 새 기능 만들기
  • 푸쉬잇
  • 이전 작업 디렉토리로 돌아가기

  • 워크트리 생성



    기능의 이름이 feature-x이고 같은 이름의 분기를 원한다고 가정해 보겠습니다. 같은 디렉토리에 워크트리를 추가로 생성하거나 원하는 경로로 이동할 수 있는데 저는 후자를 선호합니다.
    git worktree add 명령은 경로의 마지막 단어를 따라 이름이 지정된 분기와 함께 작업 트리를 만듭니다.

    git worktree add <PATH>
    
    # Create feature-x directory and branch with the same name.
    git worktree add ../feature-x
    




    명명된 지점



    분기에 고유한 이름을 지정하려면 -b 명령과 함께 add 플래그를 사용할 수 있습니다.

    git worktree add -b feature-xyz ../feature-xyz
    




    원격 지점 추적



    변경 사항을 푸시하려는 원격 지점을 추적하는 새 지점으로 전환하고 싶다고 가정해 보겠습니다.

    git worktree add -b <branch-name> <PATH> <remote>/<branch-name>
    
    git worktree add -b feature-zzz ../feature-x origin/feature-zzz
    

    git worktree list가 있는 작업 트리 목록 보기

    작업 트리 전환



    작업 트리를 만드는 것은 쉬운 일이지만, 작업 트리가 흩어져 있으면 앞뒤로 탐색하는 것도 똑같이 어렵습니다. git worktree list 경로를 복사하여 선택한 작업 트리로 이동해야 합니다. 이 마찰을 최소화하기 위해 일부 또는 전체 디렉토리 이름만으로 작업 트리 간에 전환할 수 있는 작은 도구를 만들었습니다.

    Download wt CLI tool for faster switching between worktrees.



    이를 통해 작업 트리 간에 간단히 전환할 수 있습니다.
    wt list에 해당하는 git worktree list 작업 트리 목록을 볼 수 있습니다. 이제 feature-x 작업 트리 디렉토리로 이동하기 위해 wt feature-x를 사용하여 해당 디렉토리로 cd하여 작업을 계속할 수 있습니다. 내 기본 작업 트리 디렉토리로 돌아가려면 wt - .

    작업 트리 제거




    이제 새 작업 트리를 생성하고 전환하여 변경하고 푸시했습니다. 작업 트리를 제거하려면 다음을 실행할 수 있습니다.

    git worktree remove <name-of-worktree>
    
    git worktree remove feature-x
    


    결론



    Git 작업 트리는 기본 작업 디렉터리를 수정하지 않고 완전히 다른 환경에서 작업을 시도하기 위해 프로젝트에서 컨텍스트 전환을 허용하는 편리한 기능입니다. 이것은 때때로 유용할 수 있지만 땀을 흘리지 않고 그렇게 할 수 있다는 것은 꽤 깔끔합니다.

    이 가이드가 도움이 되었기를 바랍니다. 질문이나 수정 사항이 있으면 언제든지 저에게 연락하십시오.

    좋은 웹페이지 즐겨찾기