Nasıl git commit olmadan çatışmayı çözmek saklamak için?
asked in this question, ben de tüm değişiklikler, "bir çatışma yok olmadan"). git stash pop gibi (sadece işlemek için bir eklemeden git stash pop
çakışmasını çözmek için nasıl bilmek istiyorum
Benim şimdiki yaklaşım bu şekilde yapıyorum çünkü çok hoş değil:
git stash pop -> CONFLICT
git stash drop
[resolve conflict]
[add conflict files]
git reset HEAD <all files that are in commit-mode>
[Güncelleme] Bir şekilde yeniden oluşturmak için:
mkdir foo; cd foo; git init
echo "1" > one
echo "2" > two
git add -A; git commit -m "first"
echo "1.1" > one
echo "2.1" > two
git stash
echo "2.2" > two
git commit -a -m "second"; git stash pop; git status
CEVAP
Seni kökenli çekmek için yaptığınız değişiklikleri saklamak nerede bu senaryo olduğunu varsayalım. Yerel değişiklikleri sadece debug: true
bazı ayarlar dosyasında var, çünkü muhtemelen. Şimdi çekin ve başka bir ayar var, bir çatışma yaratmak tanıttı.
git status
diyor ki:
# On branch master
# Unmerged paths:
# (use "git reset HEAD <file>..." to unstage)
# (use "git add/rm <file>..." as appropriate to mark resolution)
#
# both modified: src/js/globals.tpl.js
no changes added to commit (use "git add" and/or "git commit -a")
Tamam. Git önerdiği şeyi yapmaya karar verdim: çatışma ve kararlı: karar verdim
vim src/js/globals.tpl.js
# type type type …
git commit -a -m WIP # (short for "work in progress")
Şimdi benim çalışma kopyasını istiyorum durumda, ama sahip olmak istemem taahhüt oluşturduk. Nasıl benim çalışma kopyası değiştirmeden taahhüt kurtulurum? Bekle, bunun için popüler bir komut yok!
git reset HEAD^
Benim çalışma kopyası değişmemiş, ama suç işlemek yarı MAMUL gitti. Benim de tam olarak istediğim bu! (Not o değilim kullanarak --soft
burada, çünkü eğer orada otomatik birleştirildi dosyaları zulan, onlar otomatik sahnelenen ve böylece ... sonunda bu dosyaları varlık düzenledi daha sonra reset
.)
Ama bir şey daha kaldı: git stash pop
hatırlattığı için man sayfalarına bakın"Devlet uygulama çatışmalar ile başarısız olabilir; bu durumda, liste zula dan kaldırılmaz. Elle çatışmaları çözmek ve git stash drop
el ile daha sonra aramalısın."Şimdi yaptığımız şey tam olarak şu:
git stash drop
Ve bitti.
Nasıl git-svn ile bir çatışmayı çözmek...
Nasıl stil için bir <select> sad...
Nasıl baskı yeni satır veya boşluk olm...
Çözmek için nasıl "Eklenti yürütm...
Nasıl saklamak için Node.js dağıtım ay...