SORU
13 EKİM 2011, PERŞEMBE


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
13 AĞUSTOS 2013, Salı


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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 99being99

    99being99

    2 EYLÜL 2008
  • Grace Su

    Grace Su

    6 Ocak 2006
  • Rachel Raum

    Rachel Raum

    10 EYLÜL 2007