Niedawno znów napotkałem ten problem. Minęło trochę czasu, odkąd ostatnio pracowałem z submodułami i dowiedziałem się więcej o git, zdałem sobie sprawę, że wystarczy sprawdzić gałąź, którą chcesz zatwierdzić. Git zatrzyma działające drzewo, nawet jeśli go nie ukryjesz.
git checkout existing_branch_name
Jeśli chcesz pracować w nowym oddziale, powinno to działać dla Ciebie:
git checkout -b new_branch_name
Kasa zakończy się niepowodzeniem, jeśli masz konflikty w działającym drzewie, ale powinno to być dość nietypowe, a jeśli tak się stanie, możesz po prostu schować je, pop i rozwiązać konflikt.
W porównaniu z zaakceptowaną odpowiedzią ta odpowiedź pozwoli Ci zaoszczędzić na wykonaniu dwóch poleceń, których wykonanie i tak nie zajmuje tak długo. Dlatego nie zaakceptuję tej odpowiedzi, chyba że w cudowny sposób uzyska więcej głosów pozytywnych (lub przynajmniej bliskich) niż obecnie akceptowana odpowiedź.
git show
lubgit rev-parse HEAD
), przejdź do gałęzi, a następniegit cherry-pick
skrótu zatwierdzenia.git merge _hash_
git merge <hash-of-the-commit-you-just-made>
.