Versehentlich im falschen Git Branch gearbeitet. Was nun?
Du hast bereits ein paar Änderungen in deinem Git-Repository vorgenommen und bemerkst plötzlich, dass du die ganze Zeit im falschen Branch (z.B. im "main" statt im "develop") gearbeitet hast?
Kommt Dir bekannt vor? Mir persönlich ist das schon oft passiert.
Was nun? Wie bekommst man die Änderungen am einfachsten in den richtigen Branch?
Hier findest du die Antworten, welche Optionen einem in diesem Fall zur Verfügung stehen:
1. Noch nicht commited?
Am einfachsten ist es, wenn man die Änderungen noch nicht ins Repository "commited" hat:
Speichere alle Änderungen in einen "Stash". Wechsle in den richtigen Branch und lade anschließend die Änderungen wieder aus dem Stash.
git stash
git checkout <correct_branch>
git stash pop2. Alle Änderungen übernehmen (merge)?
Hat man bereits mehrere Commits in den "falschen" Branch durchgeführt, stellt sich die Frage, ob man alle Commits in den "richtigen" Branch übernehmen möchte, oder nur bestimmte Commits?
Wenn man alle Commits übernehmen möchte, kann man die beiden Branches auch einfach miteinander "mergen" (= zusammenführen):
git checkout <correct_branch>
git merge <wrong_branch>3. Nur bestimmte Änderungen übernehmen (cherry-pick)?
Hat man bereits mehrere Commits in den "falschen" Branch durchgeführt und möchte nun nur bestimmte Commits in den "richtigen" Branch übernehmen, dann bietet sich das "Cherry-Picking" an:
Zunächst ruft man den Git-Log auf und notiert sich die Hashes der Commits, die man übernehmen will. Anschließend wechselt man in den "richtigen" Branch und verwendet git cherry-pick , um die zuvor ermittelten Commits zu übernehmen.
git log /* note the hashes of the commits */
git checkout <correct_branch>
git cherry-pick <hash>
Du hast noch mehr Ideen, wie das Problem gelöst werden kann? Dann lass es mich wissen (sven@skom.de)!
Comments
No Comments