답변:
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
이것은 다음을 수행합니다.
$ hg update yourbranchnamecontainingspace
. 공백으로 분기 이름을 만들 수 있다고 생각하지만 update 와 같은 수은 명령을 실행할 때 구문 분석 오류가 발생합니다 . 분기 이름을 매개 변수로 스크립트에 전달하는 동안 공백 문자를 이스케이프하는 것을 고려할 수 있습니다. 건배.
echo "$1 is up"
여기에 중복 되지 않습니까? 년 then
이후 fi
? 또한 이러한 스크립트는 한 번에 기본값으로 병합하는 옵션을 지원하는 경우 유용 할 수 있습니다.