2012-03-10 29 views
13

Birleştirme çakışmaları için kullanabileceğim bir git kanca var mı? Başarısız bir git merge'dan sonra, $EDITOR numaralı çakışmalarla tüm dosyaları açan bir komut dosyası yazabilmek harika olurdu. Ne yazık ki, post-merge kanca, çakışma varsa ve githooks adam sayfasında gördüğümden çalışmaz, başka bir geçerli kanca yoktur.Birleştirme çakışmaları için git kanca

Bir şeyi özlemedim mi, yoksa 'git birleştirme' gibi bir işlevi veya başka bir şeye benzeyen başka alternatifler varsa merak ediyorum.

for i in $(git ls-files -u | cut -f 2 | sort -u); do $EDITOR $i; done 
+0

Gerçek bir üç yollu mergetool yerine bir düzenleyici olan ve çakışma olduğunda “git mergetool” komutunu çalıştıran özel bir mergetool kullanabilirsiniz. –

+0

İyi öneri. Bunu düşünmedim çünkü birleştirme araçlarını hiç sevmiyorum ve çakışmalarımı doğrudan bir editörde daha iyi bulmayı buldum. Olası bir çözüm olarak [this] (http://stackoverflow.com/questions/1817370/using-ediff-as-git-mergetool) buldum ve [mergetool] 'un özelleştirilmesini düşünüyorum (http://schacon.github.com /git/git-mergetool.html) kesinlikle gitmek için yoldur. Soru şu ki, sorumu ile ne yapacağım? Sayfanın altındaki "Sorunuzu Cevaplayın" ı tıklamalı mıyım yoksa hiçbir şey yapmamalı mıyım? – flooose

cevap

0

Charles Bailey tarafından önerilen gibi:

sayesinde Chris

0

Orada belki iki yolu, kendi mergetool düzenleme olabilir floose tarafından sizden bahsetti veya belki de kullanarak başka yedekleri oluşturabilir olarak düşünmek Bunu yapmanın en iyi yolu, mergetoolün özelleştirilmesidir. this guide kullanarak, editörüm açıldı birleştirme çakışmaları için bu basit yolu ile geldi:

[merge] 
    tool = emacs 
[mergetool "emacs"] 
    cmd = $editor \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\" 

Charles Bailey Bunun için onu takdir nasıl cevap asla beri, bu uygun bir yol nihayet yakın umut bu soru.

İlgili konular