hg branch FeatureBranchName
개발자가 공유하는 중앙 저장소에 사용 하고 게시 할 FeatureBranchName
때 개발이 공식적으로 기본 브랜치와 병합되었을 때 결국 종료하는 방법이 있습니까?
명령을 FeatureBranchName
수행 할 때가 보이지 않는 경우에도 도움이됩니다 hg branches
.
답변
hg commit --close-branch
브랜치를 마감으로 표시하기에 충분해야합니다. (참조 hg commit
)
--close-branch
분기를 닫힌 것으로 표시하고 분기 목록에서 숨 깁니다.
이 스레드를 참조하십시오 .
이 개발 라인이 막 다른 골목에 이르렀 기 때문에 분기를 닫고 더 이상 신경 쓰지 않기를 기대합니다.
따라서 분기가 닫 혔을 때 닫힌 분기를 보도록 명시 적으로 요청하지 않는 한 (예를 들어 분기, 머리, 로그에서) 볼 수 없습니다.닫힌 브랜치가 저장소에 남아있을 것으로 예상합니다. 그것은 미래에 유용 할 수 있으며,
commit --close-branch
메시지는 적어도 지점이 폐쇄 된 이유를 설명해야합니다.
가지 치기 는 전혀 다른 것입니다.
참고 : “폐쇄 지점”비즈니스는 Mercurial과 비교할 때 Git에서 누락 된 것으로 보이는 한 가지 측면입니다 .
git의 브랜치는 항상 사용하고 버려야하는 일시적인 것입니다. 제가 아는 한 git은 브랜치 작업이 끝났다는 것을 동료에게 표시 할 방법이 없습니다.
이를 수행하는 유일한 방법은이를 삭제하거나 최종 병합 커밋을보고 분기가 추가 개발에 닫혀 있음을 이해하는 것입니다.[In Mercurial] 브랜치 작업이 완료되면 저장소에서 삭제할 수 없습니다. 대신 분기를 닫는 커밋을 발행하고 Mercurial은 분기가 닫 혔음을 기록합니다. 리포지토리 기록의 영구적 인 부분으로 남습니다.
답변
PruningDeadBranches 에서 찾은 명령 인 분기 닫기를 완료하는 간단한 스크립트를 작성했습니다 .
## 스크립트 ##
#!/bin/bash
#script to close the not required branch in mercurial
hg up -C $1
if [ $? -eq 0 ]; then
echo "$1 is up"
else
echo "branch not found, please recheck your argument"
exit 1
fi
# if we are here then the branch is up, so we do the following
hg commit --close-branch -m 'this branch no longer required'
echo "$1 is closed"
hg up -C default
echo "default is up"
어떻게
저장소의 로컬 사본으로 이동하고 인수를 제공하여이 스크립트를 실행하십시오. 예를 들면 :
$./the_script_above.sh bad_branch_name_to_close
그것은 무엇을합니까
이것은 다음을 수행합니다.
- 분기가 존재하는 경우 지정된 분기로 업데이트되거나 오류 메시지와 함께 존재합니다.
- 분기를 닫습니다.
- 기본 분기에 대한 업데이트.
- 중지합니다.