Ich muss meine letzten beiden Commits entfernen, muss aber auch einige Daten von diesen Commits (ein Ordner) speichern. Und füge das in meinen 3. Commit ein. Wie kann ich das tun?Entfernen Sie die letzten 2 Commits, ohne alle Daten zu löschen
Antwort
Sie zurück zurücksetzen können zwei Commits mit vor
git reset --mixed HEAD~2
Dies wird den Zweig zurückgesetzt, sondern alle Änderungen, diese beiden Commits zu halten. Dann fügen Sie einfach und begehen, was Sie
git add <important folder>
git commit -m'added important folder'
einfach sparen müssen aufhören, darüber nachzudenken in den Verdingungs „Entfernen Commits“. Ich würde sagen:
Notieren Sie sich die aktuellen Commit-ID:
git log |head -n1
zurück zwei Commits gehen,
git checkout HEAD~2
dann nur
Ihr Verzeichnisgit checkout <noted ID> -- yourdirectory/
Check-out und begehen das Ergebnis:
git commit -m "kept the future of yourdirectory/" yourdirectory
Und wenn Sie wirklich mit einem bestehenden verpflichten einmischen möchten, verwenden Sie
git rebase -i HEAD~10
diese beiden Commits zu quetschen.
Wenn Sie wirklich wollen (müssen Sie nicht) können Sie git prune
das Dangling Commits später.
Ich denke, es sollte HEAD sein ~ 2 nicht HEAD ~ 3 - zwei commits zurück – FazoM
wahr, du hast Recht. –
git rebase -i HEAD~2
können Sie die letzten 3 Commits bearbeiten.
Sie wollen wahrscheinlich den Squash-Befehl auf dem interaktiv Shell
- 1. Git - wie alte commits zu löschen, ohne die letzten commits sha-1 zu beeinflussen?
- 2. git entfernen Zweig ohne Entfernen commits
- 3. So löschen Sie Tabelleninhalte in HTML, ohne Daten zu löschen
- 4. Wie Sie alle Tabellen in der Datenbank löschen, ohne die Datenbank selbst zu löschen?
- 5. Die letzten 2 Nachkommastellen ohne Rundung erhalten
- 6. So löschen Sie Commits von bitbucket
- 7. Django: Modelle ändern, ohne alle Daten zu löschen?
- 8. Ändern eines Spaltentyps mit Daten, ohne die Daten zu löschen
- 9. Löschen Sie alle Daten von GAE-Datenspeicher
- 10. Wie aktualisiert man die Aktivität, ohne alle Daten zu verlieren?
- 11. Wählen Sie die letzten Daten
- 12. Entfernen Sie alle Spalten ohne Daten aus DataTable
- 13. Git, entfernen Sie die Commits vom übergeordneten Repo
- 14. GitHub - Push-Commits entfernen, ohne das lokale Repository zu beeinflussen
- 15. GPG signieren alle git commits ohne stash
- 16. Wie werden die letzten n Commits aufgehoben?
- 17. Github Repo zeigt die letzten Commits nicht
- 18. Wie neu ordnen Sie die letzten zwei Commits in Git?
- 19. Löschen Sie alle Daten vor 2 Monaten aus Tabelle in sqlserver
- 20. Export letzten Monaten git commits
- 21. So entfernen Sie alle Objekte aus den Core-Daten
- 22. So löschen Sie alle Sitzungsvariablen, ohne abgemeldet zu werden
- 23. Entfernen Sie die letzten zwei Zeichenketten!
- 24. Mysql Insert die letzten beiden Zeilen löschen
- 25. Verwenden Sie 'git filter-branch', um Committer-Daten in den letzten N-Commits zu korrigieren?
- 26. Lösche alle Commits, die ich geschoben habe
- 27. Entfernen Sie alle Zeichen nach dem letzten Buchstaben
- 28. Löschen eines Commits in GitHub
- 29. Entfernen mehrerer Git-Commits aus dem Verlauf
- 30. Git: Commits In der Geschichte, die waren 2 Commits früher
anzuwenden --soft alle Änderungen ‚hinzugefügt‘ bereits verlassen würde, wäre besser --mixed wird – FazoM
Ja --mixed könnte für diesen Fall besser funktionieren. Ich werde die Antwort aktualisieren. –