Wie kann ich meinen letzten Commit in meinem lokalen Git-Repository entfernen
Lesezeit: 2 Minuten
michael
Wenn ich einen „Git-Pull“ durchführe, habe ich einen Konflikt mit dem Head-Commit. Also habe ich ein ‘git rebase –abort’ gemacht
Kann ich mein Commit in einem „Patch“ „speichern“ und dann einen Git-Pull durchführen?
Was ich nachahmen möchte ist:
Ich habe mich nicht verpflichtet, aber ich habe stattdessen einen ‘Git Stash’ gemacht
Führen Sie einen Git-Pull durch, um Zusammenführungsfehler zu vermeiden
Also muss ich irgendwie die Uhr zurückdrehen. Geht das mit Git?
Dein 7826b2 Der Patch wird immer noch einen Konflikt verursachen, wenn er nach dem Ziehen angewendet wird, aber Sie können Folgendes tun:
git reset --soft HEAD^
git stash
git pull
git stash pop # Will cause a conflict
git commit # Re-commit 7826b2
Auch ein anderer Arbeitsablauf ist möglich:
git reset --hard HEAD^
git pull
git cherry-pick 7826b2 # Will cause a conflict
Der zweite Workflow beruht darauf, dass Git die 7826b2 commit im Reflog (man kann es sich als Papierkorb vorstellen), obwohl Sie die Änderungen, die es mit der ersten Zeile eingeführt hat, zurückgesetzt haben.
James Hicks
Wenn Sie Ihre Änderungen in Ihrem lokalen Repository festgeschrieben haben, können Sie eine direkte Rebase durchführen:
git holt den Ursprung
git rebase origin/master
Dies löst Ihre lokalen Commits vom lokalen Master, wendet neue Commits vom Ursprung/Master an und gibt dann Ihre lokalen Commits wieder.
In Ihrer Situation führt dies zu einem Konflikt und Git teilt Ihnen mit, welche Dateien bearbeitet werden müssen, um den Konflikt zu lösen. Nachdem Sie dies getan haben, git add diese Dateien und dann git commit ohne Argumente, die Änderungen erneut zu übernehmen.
das habe ich gesucht, super.
– Code-jaff
14. Mai 2013 um 8:20 Uhr
Zuerst schlage ich vor, ein Backup Ihres Zweigs zu erstellen:
git branch your_branch_backup
Dann ist der einfachste Weg:
git reset --soft <commit> #Go back in time but without loosing your changes
git stash #Stash your changes
git pull #Refresh your branch with origin
git stash pop #Re-apply your changes on the refreshed branch
Dann kannst du wie gewohnt zusagen
Es gibt einen Weg, in der Tat in Git, ich bin sicher, es gibt eine Vielzahl von Möglichkeiten, dies zu tun …
Du könntest es tun:
git stash # Stash your changes
git pull # Pull the changes
git stash pop # Pop your stash
Du könntest es tun:
git pull --rebase # Bring in the changes and apply yours on top of it.
Du könntest es tun:
git stash # Stash your changes
git checkout <commit> # Pull a specific commit.
git stash pop # Pop your stash
Ich hoffe es hilft.
12574900cookie-checkWie kann ich meinen letzten Commit in meinem lokalen Git-Repository entfernenyes