Değişiklik yapmadıysanız
Yaptığınız değişiklikler diğer şubeyle uyumluysa
Bu sorudan kaynaklanmaktadır, çünkü OP yeni bir dal taahhüt etmek ister ve ayrıca değişikliklerinizin üzerine yazmayı tetiklemeden hedef dal ile uyumlu olması durumunda da geçerlidir.
John Brodie tarafından kabul edilen cevapta olduğu gibi, yeni şubeyi kontrol edebilir ve işi yapabilirsiniz:
git checkout -b branch_name
git add <files>
git commit -m "message"
Yaptığınız değişiklikler diğer şubeyle uyumlu değilse
Hatayı alırsanız:
error: Your local changes to the following files would be overwritten by checkout:
...
Please commit your changes or stash them before you switch branches
Ardından çalışmanızı saklayabilir, yeni bir şube oluşturabilir, daha sonra saklanan değişikliklerinizi patlatabilir ve çakışmaları çözebilirsiniz:
git stash
git checkout -b branch_name
git stash pop
Yeni dalı oluşturduktan sonra bu değişiklikleri yapmış gibi olacaksınız. O zaman her zamanki gibi taahhüt edebilirsiniz:
git add <files>
git commit -m "message"
Değişiklik yaptınız
Taahhütleri orijinal şubede tutmak istiyorsanız
Bu durumda doğru araç olan kiraz toplama ile Carl Norum'un cevabına bakın:
git checkout <target name>
git cherry-pick <original branch>
Taahhütleri orijinal şubede tutmak istemiyorsanız
Bu potansiyel kopya için joeytwiddle'ın cevabına bakınız . Yukarıdaki adımlardan herhangi birini uygun şekilde uygulayın, ardından orijinal dalı geri alın:
git branch -f <original branch> <earlier commit id>
Değişikliklerinizi GitHub gibi paylaşılan bir uzaktan kumandaya ittiyseniz, ne yaptığınızı bilmiyorsanız bu geri almayı denememelisiniz.