You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: book/07-git-tools/sections/rewriting-history.asc
+21Lines changed: 21 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -299,6 +299,27 @@ Dies ändert die SHA-1s der drei jüngsten Commits in Ihrer Liste, stellen Sie a
299
299
Beachten Sie, dass der letzte Commit (`f7f3f6d`) in der Liste nicht geändert wurde.
300
300
Trotzdem wird dieser Commit im Skript angezeigt, da er als „pick“ markiert war und vor jeglichen Rebase-Änderungen angewendet wurde. Git lässt den Commit unverändert.
301
301
302
+
==== Commit löschen
303
+
304
+
Wenn Sie ein Commit entfernen möchten, können Sie es mit dem Skript `rebase -i` löschen.
305
+
Fügen Sie in der Liste der Commits das Wort „drop“ vor dem Commit ein, das Sie löschen möchten (oder löschen Sie einfach diese Zeile aus dem Rebase-Skript):
306
+
307
+
[source,console]
308
+
----
309
+
pick 461cb2a This commit is OK
310
+
drop 5aecc10 This commit is broken
311
+
----
312
+
313
+
Aufgrund der Art und Weise, wie Git Commit-Objekte erstellt, werden beim Löschen oder Ändern eines Commits alle darauf folgenden Commits neu geschrieben.
314
+
Je weiter Sie in der Historie Ihres Repos zurück gehen, desto mehr Commits müssen neu erstellt werden.
315
+
Dies kann zu vielen Mergekonflikten führen, wenn es viele Commits in der Historie gibt, die von dem gerade gelöschten abhängen.
316
+
317
+
Wenn Sie eine solche Rebase teilweise durchlaufen und feststellen, dass dies keine gute Idee ist, können Sie jederzeit damit aufhören.
318
+
Geben Sie `git rebase --abort` ein und Ihr Repo wird in den Zustand zurückversetzt, in dem es sich befand, bevor Sie das Rebase gestartet haben.
319
+
320
+
Wenn Sie eine Rebase beenden und feststellen, dass es nicht das ist, was Sie wollten, können Sie `git reflog` verwenden, um eine frühere Version Ihres Branches wiederherzustellen.
321
+
Weitere Informationen zum Befehl `reflog` finden Sie unter <<ch10-git-internals#_data_recovery>>.
322
+
302
323
[NOTE]
303
324
====
304
325
Drew DeVault hat einen praktischen Leitfaden mit Übungen erstellt, um die Verwendung von `git rebase` zu erlernen.
0 commit comments