Tek yönlü:İtme kolu ile usta birleştirme arasındaki fark nedir?
git checkout myBranch
git push origin myBranch:master
bir başka yolu:
git checkout master
git merge myBranch
git push
Bu ikisi arasındaki fark nedir?
Tek yönlü:İtme kolu ile usta birleştirme arasındaki fark nedir?
git checkout myBranch
git push origin myBranch:master
bir başka yolu:
git checkout master
git merge myBranch
git push
Bu ikisi arasındaki fark nedir?
Bu:
git checkout myBranch
git push origin myBranch:master
sadece master
için myBranch
(diğer bir deyişle sigara zorunlu güncelleştirme) itme hızlı ileri yapmak için çalışır. master
'a myBranch
'dan ulaşılabilirse, yani master
, myBranch
'un sahip olmadığı herhangi bir taahhüt içermez, daha sonra itme başarılı olacaktır; aksi halde itiraz reddedilir. Eğer refspec myBranch:master
kullandığınız beri
önceki git checkout myBranch
git push
ilgisi yoktur. Refspec'ler hakkında daha fazla bilgiyi
Git Internals - The Refspec'dan edinebilirsiniz.
Bu:
git checkout master
git merge myBranch
git push
aslında master
içine myBranch
birleştirir ve sonra uzak onu itmek için çalışır
myBranch
aslında
master
birleştirilir
Çünkü o zaman aksi takdirde başarısız olur, yerel bir zamanda yok, o zaman itme başarılı olacaktır taahhüt eder içermiyor yani uzaktan master
, yerel birinin arkasında olduğunu varsayarak .
Ancak, "git birleştirme" nin hala hızlı ileri bir birleştirme ile sonuçlanabileceğini unutmayın. Yani sonuç, ana, kök/master ve myBranch – knittl
@ knittl arasındaki ilişkiye bağlı olarak aynı olabilir veya olmayabilir, 'git birleştirme myBranch' hızlı ileri olabilir. Ben de getirmedim, çünkü (1) hızlı ileri olduğunu söyleyebilirim. Sonra 'git push myBranch: master' ve' git push origin 'aynıdır. Ama sonra (2), diyelim ki "myBranch" ı birleştirmek hızlı değil. Bu noktada, kullanıcı 'itme kökeni myBranch: master' yaparsa, 'git itme kaynağı' ile sonuçlanan aynı güncelleştirmedir: her ikisi de uzak şubeyi hızlı ileri sar. Yani hala aynı. –
@Cupcake Çok basit bir şekilde, hızlı ileriye gidip gelmesin, iki yolum aynı sonuç verir mi? – Magicloud
Daha önemli bir soru: *** ne yapmaya çalışıyorsunuz ve neden? *** –
Değişikliklerimi uzak ana biriminde birleştirmek istiyorum. Ancak uzak master'da bazı yeni taahhütler yazabileceğim herhangi bir risk olup olmadığını bilmiyorum. – Magicloud
Git itme orijini myBranch: master 'durumunda, sadece + hızlı bir şekilde + + Ekle, artı + güncellemeye izin vermeyen + myBranch: master' gibi bir '+' eklemediğiniz sürece. Benzer şekilde, 'git-push 'sadece ileri-itmeli olmayan güncellemedir, sadece' -f 'kuvvet bayrağını geçmeyin. –