2017-03-02 7 views
1

답변을 완전히 이해할 수없는 초보자가 충분합니다. enter link description hereenter link description here.지트 50 개를 삭제 하시겠습니까?

마스터가 내 컴퓨터에 있고 약 50 개의 가지가 있습니다. 나는 또한 Bitbucket과 heroku에게 서비스를 제공 할 것을 요구합니다.

저는 1) 모든 오래된 브랜치를 삭제하고 싶습니다만, 2) 로그의 사본을 가지고 있다면 다시 돌아가서보고 싶을 수도 있습니다. 이 작업을 수행 할 수 있습니까?

저는 TextMate를 사용하고 있으며 많은 Git 작업에 사용하고 있습니다. SourceTree도 있지만 실제로 사용하지는 않았습니다.

+0

아카이브의 분기를 원하지만 모든 이전 분기를 삭제하려고합니다. 우리가 어떻게이 모순을 화해 시키길 기대합니까? – Alexander

+0

아카이브는 옵션입니다. diff와 같을 수도 있습니다. 어떤 종류의 검색 가능한 텍스트 파일. – Greg

+0

그럼 직접 만들어야합니다. 브랜치는 동시 작업 중이거나 작업중인 상태의 마커이며, 보관할 의도가 아니며 병합을위한 것입니다. – Alexander

답변

1

1) 1) 기존 로그를 모두 지우지 만, 2) 로그의 사본을 가지고 있어도 괜찮습니다. 이 작업을 수행 할 수 있습니까? 그 지점은 자신의 명명 규칙의 패턴을 다음과 같은 경우

, 당신은 자식의 bash 쉘 세션에서하는 수행 할 수 있습니다

git branch -D $(git for-each-ref --format="%(refname:short)" refs/heads/<pattern>) 

git reflog는 당신에게 돌아 가야하고 복원 할 수있는 방법을 제공합니다 적어도 30 일 동안은 로컬로 브랜치 할 수 있습니다. 어느 시점에서, 상기 reflog는 만료되고 제거 될 것이다.

하지만 모든 것을 삭제하려고 시도하기 전에 git clone --mirror을 Repo로 만들 수 있습니다. 그러면 로컬 복사본이 남아있게됩니다.

+0

일관된 명명 규칙이 없습니다. 복제본을 만들면 Heroku로 다시 시작해야합니까? URL이 바뀌면 불편할 것입니다. 답변 해 주셔서 감사합니다. – Greg

+0

복제품을 만드는 @Greg는 보관 용입니다. 삭제에 관해서는'git branch -D' 명령에 그 브랜치를 공백으로 구분하여 나열하면됩니다. – VonC

+0

알았습니다. 그러나'git branch -D branch-1, branch-2' 또는? – Greg