İki sütun olduğunu varsayalım, master
ve slave
, ve aynı dosyayı ve aynı satırı düzenlerler. şube slave
oGit'te birleştirme sonrasında yama yeniden nasıl biçimlendirilir?
foo bar baz
olmaya düzenlendiğinde Başlangıçta, dosyanın içeriğini
foo bar
daha sonra Şimdi şube slave
kullanıcı yama (git format-patch master
) biçimlendirir ve kullanıcıya gönderir Şubenin master
. Aynı zamanda, şube master
aynı dosya düzenlenebilir ve yama uygulanamaz
foo bar spam eggs
olur ve master
birleştirme ve yeni bir yama yapmak için slave
sorar edilir. master
, slave
'a eklendiğinde ve çakışma çözüldüğünde, düzeltme ekinin yeniden biçimlendirilme zamanı. taahhüt grafiği aşağıdaki gibidir:
slave: master:
foo bar baz spam eggs
| \
| \
| foo bar spam eggs
| |
foo bar baz |
\ |
\ |
+--------- foo bar
son işlemek gibi slave
üzerinde (birleştirme) görünür: şimdi git format-patch master
çalıştırırsanız
@@@ -1,1 -1,1 +1,1 @@@
- foo bar baz
-foo bar spam eggs
++foo bar baz spam eggs
Ancak, yine eskisi gibi aynı yamayı olsun, Bu, birleştirme ve çakışma çözümünü dikkate almaz:
@@ -1 +1 @@
-foo bar
+foo bar baz
En son master'a karşı uygulanacak bir düzeltme ekini nasıl biçimlendirirsiniz? rebase
olmadan yapmak istiyorum.
Güncelleme
:rev1
ve
rev2
master
ve
custom
şube başkanları sırasıyla
git format rev1..rev2
, çatışma çözümü ile ilgili değişiklikleri içermemektedir.
git-diff
geçerli bir yamayu biçimlendirir, ancak iletileri atar.
Yamaları kullanırım, çünkü bu, akış yukarı istediği şeydir ve iş akışının denetiminde değilim. Uyuşmazlık çözümünü dikkate alan yamaları biçimlendirmeliyim, çünkü repo'umu da yayınladım ve yeniden yapılamam. 'git diff', maalesef taahhüt mesajları içermiyor. – sastanin
Birleştirme işleminin yalnızca bir ebeveyne sahip olmasının bir yolu var. Bundan bir yama size ihtiyacınız olan sonucu verecektir. –
Sadece bir ebeveyn ile birleştirme? Bu nasıl mümkün olaiblir? "Git-merge", "_two_ veya daha fazla geliştirme geçmişini bir araya getirme" durumunda mı? – sastanin