브랜치를 병합 한 후 저장소에서 삭제합니까?
그러나 좋은 습관입니까?
현재 릴리스를 중단하고 싶지 않기 때문에 일반적으로 많은 브랜치를 생성하고, 순서를 유지하기 위해 브랜치를 삭제하고 싶습니다.
그러나 Assembla 또는 GitHub로 작업하는 경우 이전 분기의 병합 요청이 사이트에 저장되므로이를 삭제하면 가져올 수 없기 때문에 오류가 발생합니다.
일반적으로 어떻게 관리합니까?
답변:
병합 된 브랜치를 삭제하는 데 문제가 없습니다. 모든 커밋은 히스토리에서 계속 사용할 수 있으며 GitHub 인터페이스에서도 계속 표시됩니다 (예를 들어, 내가 보유한 포크를 참조하는 이 PR 참조). PR이 수락 된 후 삭제됨).
Merge branch fix-foo-bar
커밋 메시지 의 형태로 가지고 있습니다 . 시도한 git log --grep="Merge branch"
다음을 통해 관심있는 앵커를 삭제하십시오 git checkout -b curious-change
. 또한 브랜치를 삭제할 때 손실되는 것은 없습니다. 단지 "branchname → commithash"포인터 (브랜치가 실제로는 로컬이든 원격이든 상관 없음)를 제외하면 손실되지 않습니다.
나는 그들이 합쳐진 후에 확실히 내 가지를 정리합니다.
우리는 직장에서 GitLab과 병합 요청을 사용하므로 분기에 대한 기록 정보가 여기에 저장됩니다. 나는 그들이 내 지점 목록을 복잡하게 만들 필요가 없으며 동료의 포크를 볼 때 이상적으로는 현재 활발한 개발의 지점 만보 고 싶습니다. 브랜치의 일부 코드를 살펴 보려는 경우 작업을 시작한 모든 기능이나 수정이 아닌 현재 활성화 된 브랜치 몇 개만 살펴볼 수 있기를 원합니다.
위의 내용은 BitBucket 및 GitHub에도 적용됩니다.
병합 후 브랜치를 삭제하지 않는 유일한 이유는 주어진 기능이 어디에서 끝났는지 알 수 있기 때문입니다.하지만 병합 커밋 (그리고 git merge --no-ff
정말로 원하는 경우)은이를 무의미하게 만듭니다.
DELETED 브랜치 의 모든 하이퍼 링크 URL 참조는 BROKEN 됩니다.
예를 들어 저장소에서 브랜치
를 삭제
하는 경우이 브랜치의 해당 하이퍼 링크 URL이 깨집니다. https://github.com/username/project/tree/branch_feature_xbranch_feature_x