Bağlam: Basit bir özellik ekleyerek ana üzerinde çalışıyorum. Birkaç dakika sonra, bu kadar basit olmadığını ve yeni bir dalda çalışmak daha iyi olmalıydı.Git: Ana sayfadaki dengesiz/yüklenmemiş değişikliklerden bir şube oluşturma
Bu her zaman bana kalır ve başka bir şubeye nasıl geçeceğimi ve tüm bu istenmeyen değişiklikleri benim ana dalı temiz bırakarak nasıl alacağımı bilmiyorum. Ben sadece bunu başarmak istiyorum git stash && git stash branch new_branch
gerekiyordu ama bu elde ediyoruz: Bunu gerçekleştirmenin bir yolu varsa
~/test $ git status
# On branch master
nothing to commit (working directory clean)
~/test $ echo "hello!" > testing
~/test $ git status
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: testing
#
no changes added to commit (use "git add" and/or "git commit -a")
~/test $ git stash
Saved working directory and index state WIP on master: 4402b8c testing
HEAD is now at 4402b8c testing
~/test $ git status
# On branch master
nothing to commit (working directory clean)
~/test $ git stash branch new_branch
Switched to a new branch 'new_branch'
# On branch new_branch
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: testing
#
no changes added to commit (use "git add" and/or "git commit -a")
Dropped refs/[email protected]{0} (db1b9a3391a82d86c9fdd26dab095ba9b820e35b)
~/test $ git s
# On branch new_branch
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: testing
#
no changes added to commit (use "git add" and/or "git commit -a")
~/test $ git checkout master
M testing
Switched to branch 'master'
~/test $ git status
# On branch master
# Changed but not updated:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: testing
#
no changes added to commit (use "git add" and/or "git commit -a")
biliyor musunuz?
sorununuza basit bir çözüm, size ne istediğini farklıysa ne elde sonuç içinde belirtebilirsiniz olmasına rağmen? – Gauthier
Yukarıdakileri veya cevapları en altta yaparak, istenmeyen değişiklikler hem ana hem de yeni dal üzerindedir. Onları sadece yeni şubede istiyorum, bu yüzden master'ı kontrol edebilirim ve bu değişikliklerin – knoopx
etrafında dolanmadan başka bir şey üzerinde çalışabilirim. Temiz bir ana ödeme yapmak istiyorsanız, yerel şubenizi yeni şubeye eklemeniz gerekir. Yerel değişiklikler yalnızca geçerli HEAD ile diskteki dosyalarınız arasındaki farklardır. Yerel dosyalardaki bu değişiklikler, sürümlendirilmemiş, daha sonra almak istiyorsanız, onları bir yere kaydetmek için git söylemeniz gerekir. – Gauthier