답변:
병합 후에는 브랜치를 삭제하는 것이 안전합니다.
git branch -d branch1
또한 git은 아직 완전히 병합하지 않았다고 생각하면 경고를 보내고 분기 삭제를 거부합니다. git branch -D
아직 완전히 병합되지 않은 분기 (with ) 를 강제로 삭제하면 병합되지 않은 커밋을 다시 가져 오기 위해 몇 가지 트릭을 수행해야합니다 (아래 참조).
그래도 지점을 유지 해야하는 몇 가지 이유가 있습니다. 예를 들어, 기능 분기 인 경우 해당 분기 내에서 해당 기능에 대한 버그 수정을 수행 할 수 있습니다.
원격 호스트에서 분기를 삭제하려는 경우 다음을 수행 할 수 있습니다.
git push origin :branch1
이렇게하면 원격에서 분기가 강제로 삭제됩니다 (이미 체크 아웃 된 리포지토리에는 영향을 미치지 않으며 푸시 액세스 권한을 가진 사람이 다시 푸시 / 생성 할 수는 없습니다).
git reflog
최근 체크 아웃 한 개정을 표시합니다. 최근 리포지토리 기록에서 체크 아웃 한 지점도 여기에 표시됩니다. 그 외에도 git fsck
git의 커밋 손실이있는 경우 선택 도구가 될 것입니다.
git checkout master && git merge branch1 && git push origin branch1 && git branch -d branch1
DELETE 보다는 RENAME을 선호합니다
내 모든 지부의 이름은
Fix/fix-<somedescription>
또는 Ftr/ftr-<somedescription>
또는 내 자식 프론트 엔드로 타워를 사용하면, 깔끔하게 모든 조직 Ftr/
, Fix/
, Test/
폴더로 등.
나는 지점으로 수행하고 나면, 나는 이름을 변경 에게 Done/...-<description>
.
그렇게하면 그들은 여전히 거기에 있습니다 (역사를 제공하는 것이 편리 할 수 있음). 나는 그것이 무엇인지 (기능, 수정, 테스트 등) 알고 다시 돌아갈 수 있습니다.