Ich bin sehr neu in Git und habe mich gefragt, ob so etwas möglich ist?
>git log --pretty=oneline --abbrev-commit
2f05aba Added new feature
3371cec Fixed screw up <-- I want to remove this
daed25c Screw up <-- and remove this.
e2b2a84 First. So it's like they never happend.
Ist das möglich?
Wenn Sie sie wirklich löschen möchten (sie aus dem Verlauf löschen, nie mehr gesehen werden), können Sie dies tun
Rebase ausführen:
und dann löschen (oder kommentieren) Sie einfach die Zeilen, die den Commits entsprechen, die Sie löschen möchten, wie folgt:
quelle
git push origin HEAD --force
git revert
. Was, wenn Sie darüber nachdenken, sinnvoll ist, denn wenn Sie den Code eines anderen ziehen, möchten Sie nicht, dass dieser Ihre alten Commits ohne irgendeine Art von Geschichte löschen kann, oder?d
oderdrop
ist der Befehl zum Entfernen von Commits aus dem Verlauf.Um Commits vollständig zu löschen, gibt es
drop
jetzt eine neue Option für interaktive Git-Rebases. Erster Lauf:Dann ersetzen Sie
pick
mitdrop
für den Commit (s) fallen gelassen werden:Dies funktionierte bei Fedora für mich mit der folgenden Version:
quelle
Squash ist nützlich, wenn Sie eine Liste zusammengeführter Commits unter einem einzelnen Hash erstellen möchten. Wenn Sie jedoch drei separate Commits ausführen und eine endgültige Ausgabe erhalten möchten, die aussieht, als wäre es ein einzelnes Commit, empfehle ich
fixup
git rebase -i HEAD~4
Weitere Informationen finden Sie in der Befehlsliste der interaktiven Rebase-Benutzeroberfläche.
quelle