2016-03-02 10 views
14

schließen Wenn ich weiß, dass ich keinen Zweig mehr benutzen werde, ist es möglich, es zu schließen oder zu sperren? Eigentlich möchte ich eine Filiale schließen, aber ich glaube nicht, dass es möglich ist, eine Filiale mit GIT zu schließen. Was ist mit dem Löschen? Was passiert mit meiner Geschichte, wenn ich eine Filiale lösche?wie man einen Zweig in Git

+0

@FarhadFaghihi akzeptiert bedeutet, dass der Fragesteller es als die hilfreichste Antwort für ihn oder sie betrachtet, nicht, dass es das am meisten empfangene ist. –

Antwort

18

aktualisiert Antwort

Wie @user3159253 in den Kommentaren dieser Antwort erklärte:

git Müll einsammelt Commits, die nicht referenziert werden, die direkt oder indirekt durch eine benannte Referenz (Zweig, Tag , etc). Deshalb ist es wichtig, einen Verweis auf eine eingefrorene Filiale zu hinterlassen.


Sie können die Spitze der Branche markieren, indem es die Archivierung und dann den Zweig löschen.

git tag archive/<branchname> <branchname> 
git branch -d <branchname> 
git checkout master 

Der Zweig wird gelöscht und kann später den Tag, indem Sie aus abgerufen werden, und die Verzweigung neu zu erstellen.

git checkout archive/<branchname> 
git checkout -b new_branch_name 

Oder einfacher:

git checkout -b new_branch_name archive/<branchname> 
+0

Warum nicht 'git checkout -b new_branch_name archive/'? – PetSerAl

+0

das macht auch Sinn. –

+1

Ich würde eine Erklärung hinzufügen, dass git garbage-collects commits, die nicht direkt oder indirekt durch eine benannte Referenz (Branch, Tag, etc) referenziert werden. Deshalb ist es wichtig, einen Verweis auf eine eingefrorene Filiale zu hinterlassen. – user3159253

1

Sie git finding unmerged branches beziehen diejenigen Zweig zu finden, die zusammengeführt wurden oder nicht.

Wenn eine Verzweigung in eine andere Verzweigung zusammengeführt wurde, können Sie sie mit dem folgenden Befehl löschen.

git branch -D branch_name

+2

Warum die down vote? Ist diese Antwort falsch? Ist es unsicher, einen Zweig zu löschen, der in einen anderen Zweig eingebunden wurde? Warum? – Barzee

0

Wenn Sie vollständig einen Zweig löschen möchten, können Sie einfach löschen es in allen Repositories (in der Regel lokal und remote). git wird es dann aufräumen, wenn es das nächste mal Müll sammelt.

Anweisungen finden Sie unter How do I delete a Git branch both locally and remotely?.