여러 작업 디렉토리를 만드는git worktree
2757 단어 Git
git clone
이후 작업 디렉터리에 .git
디렉터리(= 창고)를 만듭니다.그리고 일반적으로 이 작업 디렉터리에서 지점을 바꾸어 작업을 진행한다.
그럼 작업 디렉터리에 있는 어떤 작업에서 다른 중단 작업이 발생했으니 당분간 지점을 바꾸려고 하세요.이때 작업 중의 변경 사항을 현재 지점에 제출한 다음에 지점을 전환하거나
git stash
로 작업 중의 변경 사항을 저장한 다음에 지점을 전환합니다.git의 특징은 이런 조작이 간단하고 신속하게 진행될 수 있다는 것이다.그러나 그럼에도 불구하고 이런 전환이 많아지면 작업 중의 변경을 잃어버리거나 현재의 지점 업무를 잘못하는 등 오류가 발생할 수 있다.
이럴 때git worktree는 아마도 매우 편리할 것이다.
git worktree는 git worktree
한 창고에 여러 개의 작업 디렉터리를 만들어 관리할 수 있다.
git worktree add <path> <branch>
에서는 지정된 경로에 작업 디렉토리를 생성할 수 있습니다.작업 디렉토리의 내용은 지정된 분기입니다.
새 작업 디렉터리에 창고를 복사하지 않고 원본 창고를 인용합니다.작업 디렉터리를 보면 일반 .git
디렉터리 대신 .git
라는 파일이 있다는 것을 알 수 있다.원본 작업 디렉터리는'main working tree'git worktree add
에서 만든 새 작업 디렉터리를'linked working tree'라고 부른다.
창고가 공유되어 있기 때문에, 하나의workingtree로 특정한 지점을 제출하면 다른workingtree도 지점을 업데이트합니다.
linked working tree 관리
linked working tree 정보는 창고에서 관리합니다.git worktree list
에 링크드 워크 트리의 일람표를 표시할 수 있습니다.
linked working tree를 삭제하려면 전체 디렉토리만 삭제합니다.이후mainworkingtreegit worktree prune
에서 실행하면linkedworkingtree의 정보가 삭제됩니다.
참고로 main working tree(linked working tree는 창고 주체가 없기 때문에 삭제해도 괜찮습니다.main working tree에는 창고 주체가 포함되어 있습니다).
게다가mainworkingtree는linkedworkingtree의경로가있고,linkedworkingtree는mainworkingtree의경로가있다.따라서 main working tree와linked working tree를 다른 경로로 이동하면 이상해집니다.이 점은 활용git worktree
시 주의가 필요하다.
활용 모드
모드 1: 작업을 중단하기 위해 linked working tree 만들기
작업 디렉토리(main working tree)에서 작업 중 다른 중단 작업이 발생했습니다.
이때 작업 중인main working tree를 그대로 유지하고 git worktree add
linked working tree를 제작할 수 있습니다.작업을 중단하려면 linked working tree에서 진행하고, 끝난 후에linked working tree를 삭제합니다.
main working tree가 그대로 남아 있기 때문에 곧 원래의 업무로 돌아갈 수 있습니다.
모드 2: 자신의 작업을 위한 linked working tree 만들기
위 모델 1과 반대로 평소 메인워크 트리에 손대지 않고 링크드 워크 트리로 평소 작업을 하는 방법도 있다.중단 작업은 main working tree에서 수행됩니다.
평소 업무에서 화제를 나누는 습관이 있다면 이 패턴도 괜찮다.linked working tree에서 테마 지점 작업을 하고 테마 지점을 마스터 지점에 합친 후 linked working tree를 삭제합니다.
총결산
한 창고에 대해 우리는 여러 개의 작업 디렉터리를 만드는 것을 소개했다git worktree
.나는 편리 여부는 각자의 사용 방법에 달려 있다고 생각하지만, 선택의 하나로 미리 아는 것이 좋지 않겠는가.
Reference
이 문제에 관하여(여러 작업 디렉토리를 만드는git worktree), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/usamik26/items/0d42db4ea25e2a2ce845
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
linked working tree 정보는 창고에서 관리합니다.
git worktree list
에 링크드 워크 트리의 일람표를 표시할 수 있습니다.linked working tree를 삭제하려면 전체 디렉토리만 삭제합니다.이후mainworkingtree
git worktree prune
에서 실행하면linkedworkingtree의 정보가 삭제됩니다.참고로 main working tree(linked working tree는 창고 주체가 없기 때문에 삭제해도 괜찮습니다.main working tree에는 창고 주체가 포함되어 있습니다).
게다가mainworkingtree는linkedworkingtree의경로가있고,linkedworkingtree는mainworkingtree의경로가있다.따라서 main working tree와linked working tree를 다른 경로로 이동하면 이상해집니다.이 점은 활용
git worktree
시 주의가 필요하다.활용 모드
모드 1: 작업을 중단하기 위해 linked working tree 만들기
작업 디렉토리(main working tree)에서 작업 중 다른 중단 작업이 발생했습니다.
이때 작업 중인main working tree를 그대로 유지하고 git worktree add
linked working tree를 제작할 수 있습니다.작업을 중단하려면 linked working tree에서 진행하고, 끝난 후에linked working tree를 삭제합니다.
main working tree가 그대로 남아 있기 때문에 곧 원래의 업무로 돌아갈 수 있습니다.
모드 2: 자신의 작업을 위한 linked working tree 만들기
위 모델 1과 반대로 평소 메인워크 트리에 손대지 않고 링크드 워크 트리로 평소 작업을 하는 방법도 있다.중단 작업은 main working tree에서 수행됩니다.
평소 업무에서 화제를 나누는 습관이 있다면 이 패턴도 괜찮다.linked working tree에서 테마 지점 작업을 하고 테마 지점을 마스터 지점에 합친 후 linked working tree를 삭제합니다.
총결산
한 창고에 대해 우리는 여러 개의 작업 디렉터리를 만드는 것을 소개했다git worktree
.나는 편리 여부는 각자의 사용 방법에 달려 있다고 생각하지만, 선택의 하나로 미리 아는 것이 좋지 않겠는가.
Reference
이 문제에 관하여(여러 작업 디렉토리를 만드는git worktree), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/usamik26/items/0d42db4ea25e2a2ce845
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
한 창고에 대해 우리는 여러 개의 작업 디렉터리를 만드는 것을 소개했다
git worktree
.나는 편리 여부는 각자의 사용 방법에 달려 있다고 생각하지만, 선택의 하나로 미리 아는 것이 좋지 않겠는가.
Reference
이 문제에 관하여(여러 작업 디렉토리를 만드는git worktree), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/usamik26/items/0d42db4ea25e2a2ce845텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)