힘내 작업 트리

이 보석에 대해 전혀 몰랐던 이유를 모르겠습니다. 나는 거의 10년 동안 Git을 사용해 왔으며 불과 며칠 전에 이것을 발견했고 그 때부터 Git은 내 작업 흐름의 필수적인 부분이 되었습니다.

시나리오: 앱의 기능 분기에서 심층적으로 작업하는 중 갑자기 솔루션을 찾고 핫픽스를 배포해야 하는 프로덕션에서 큰 문제가 발견되었습니다.

내 작업 흐름은 다음과 같습니다.

워크플로우 1


  • 절반도 완료되지 않았으며 분명히 컴파일되지 않을 것임을 알고 있는 경우에도 기능 분기에서 모든 작업을 커밋합니다.
  • 결제 마스터 -> 핫픽스 브랜치 만들기 --> 변경 및 배포
  • 내 기능 분기를 체크아웃하고 마지막 커밋을 실행 취소한 다음 작업을 다시 시작하십시오.

  • 워크플로우 2


  • 변경 사항을 기능 분기에 숨김. 대부분의 경우 추적되지 않은 파일을 숨기는 것을 잊어버리므로 "이것도 unstashed--"라는 메시지와 함께 다시 숨깁니다
  • .
  • 결제 마스터 -> 핫픽스 브랜치 만들기 --> 변경 및 배포
  • 체크아웃 기능 분기, 마지막 숨김 및 두 번째 마지막 숨김 팝업, 계속 작업

  • 위 작업 흐름의 문제는 다른 작업을 위해 이동하고 상당한 시간이 지난 후 돌아오면 내가 떠난 곳을 기억하지 못하며 더 많은 숨김 변경 사항이 있고 내 숨김 메시지를 이해할 수조차 없는 경우입니다. 일주일 후.

    Git Worktree가 나를 어떻게 도왔는지.



    이제 기능에 대해 작업해야 할 때마다 새 작업 트리를 추가합니다. 다른 브랜치로 이동해야 할 경우 워크트리 폴더를 변경하고 해당 브랜치에서 작업을 시작하면 됩니다. 절반을 커밋하거나 작동하지 않는 코드를 더 이상 (적절한 메시지와 함께) 숨길 필요가 없습니다. 폴더를 전환하고 새 지점에서 작업을 시작할 수 있습니다.

    워크트리를 추가하는 방법



    git worktree add -b "feature/your-branch-name"



    작업 트리에 대한 전체 명령 목록

    git worktree add [-f] [--detach] [--checkout] [--lock [--reason <string>]] [-b <new-branch>] <path> [<commit-ish>]
    git worktree list [-v | --porcelain]
    git worktree lock [--reason <string>] <worktree>
    git worktree move <worktree> <new-path>
    git worktree prune [-n] [-v] [--expire <expire>]
    git worktree remove [-f] <worktree>
    git worktree repair [<path>…​]
    git worktree unlock <worktree>
    


    Read more here
    워크트리 사용법을 알려주세요.

    감사
    쿠마르 니테시

    좋은 웹페이지 즐겨찾기