Was passiert im untergeordneten Zweig, wenn ich einen übergeordneten Zweig in git lösche?

8

Ich plane eine Verzweigung in meinem Git-Repository umzubenennen. Ich fand heraus, dass es einfach ist, aus diesem Zweig einen neuen Zweig zu machen und ihm den gewünschten Namen zu geben.

Danach möchte ich den alten Zweig (den Elternteil) löschen. Aber ich befürchte, dass ich in meinem neuen Zweig Daten verlieren werde, wenn ich das tue.

Was passiert mit den Commits, die ursprünglich zum übergeordneten Zweig gemacht wurden, wenn ich diesen Zweig lösche?

    
Willem de Jong 15.10.2013, 12:08
quelle

2 Antworten

8

Was passiert? nichts.

Wenn Sie eine Verzweigung erstellen, in der sich eine andere befindet, können Sie diese andere Verzweigung "löschen", ohne etwas zu verlieren. Ein Zweig (HEAD) ist nur ein Zeiger auf ein Commit.
Solange diese Commits von einem Zweig HEAD referenziert werden (oder Teil der Zweig HEAD Vorfahren sind), sind sie nicht verloren.
Und selbst wenn sie von keinem Zweig oder Tag mehr referenziert werden, befinden sie sich immer noch in der lokalen reflog für (standardmäßig) 90 Tage.

Aber auf der man-Seite für git branch sieht das einfacher aus:

%Vor%

Mit:

%Vor%
  

Verschieben / benennen Sie einen Zweig und den entsprechenden Reflog um.

%Vor%
  

Verschieben / benennen Sie einen Zweig um, selbst wenn der neue Zweigname bereits existiert.

    
VonC 15.10.2013, 12:23
quelle
1

Verwenden Sie einfach git format-patch:

git format-patch -ursprung -o {output_folder}

Nachdem Sie alle Patches entfernt haben, gehen Sie zum Master und erstellen Sie einen neuen Zweig

Dann wenden Sie diese Patches wie folgt an: git am {output_folder} / {Patchname} .patch

Nachdem Sie überprüft haben, dass Sie keine Informationen verloren haben, können Sie den alten Zweig mit git Branch -D {name_old_branch}

löschen     
Oriely 15.10.2013 12:19
quelle

Tags und Links