Henüz bir taahhütte bulunmamış olsaydınız, sadece (1: şube) ve (3: ödeme) yeterli olacaktır.
Veya bir komutta:git checkout -b newBranch
Belirtildiği gibi git reset
adam sayfası :
$ git branch topic/wip # (1)
$ git reset --hard HEAD~3 # (2) NOTE: use $git reset --soft HEAD~3 (explanation below)
$ git checkout topic/wip # (3)
- Bazı taahhütler yaptınız, ancak bunların "
master
" dalında bulunmak için erken olduklarını fark ettiniz . Bir konu dalında parlatmaya devam etmek istiyorsunuz, bu nedenle geçerli alandan " topic/wip
" dal oluşturun HEAD
.
master
Bu üç taahhütten kurtulmak için dalı geri sarar.
- "
topic/wip
" Dalına geçin ve çalışmaya devam edin.
Not: bir git reset --hard
komutun "yıkıcı" etkisi nedeniyle (dizin ve çalışma ağacını sıfırlar. Çalışma ağacında izlenen dosyalarda yapılan herhangi bir değişiklik <commit>
atıldığından beri ), tercih ediyorum:
$ git reset --soft HEAD~3 # (2)
Bu, herhangi bir özel dosyayı (dizine eklenmemiş) kaybetmediğimden emin olur. Seçeneği (ancak kafa sıfırlar dizin dosyası ne de tüm çalışan ağaç dokunmaz tüm modlar yaptığımız gibi).
--soft
<commit>
İle Git 2.23+ , yeni komutgit switch
(aynı tür ile bir satır ayağı sağlayacaktır reset --hard
böylece etkisi dikkat,):
git switch -f -c topic/wip HEAD~3