sen çalışacak verilen adımların, ama daha fazla seçenek bulunur uzun bir yol var:
git checkout dmgr2 # gets you "on branch dmgr2"
git fetch origin # gets you up to date with origin
git merge origin/master
fetch
komut merge
önce herhangi bir noktada yapılabilir, yani sen sırasını değiştirebilirsiniz getirme ve ödeme, çünkü fetch
sadece adlandırılmış uzaktan kumandaya (origin
) gider ve ona şunu söyler: "sahip olmadığın her şeyi bana ver", yani, tüm dallarda tüm taahhütler. Havuzunuza kopyalanırlar, ancak uzaktan kumandada branch
adında herhangi bir şube için origin/branch
olarak adlandırılır.
Bu noktada, "sahip olduklarınızı" görmediğiniz herhangi bir görüntüleyiciyi (git log
, gitk
, vb.) Kullanabilirsiniz ve bunun tersi de geçerlidir. Bazen bu sadece Sıcak Bulanık Duygular için yararlıdır ("ah, evet, aslında istediğim") ve bazen stratejileri tamamen değiştirmek için yararlıdır ("whoa, henüz bu tür şeyleri istemiyorum").
Son olarak, merge
komutu origin/master
olarak adlandırabilir, hangi verilen taahhüt alır ve bunu merge
çalıştırdığınızda üzerinde her neysen dal, yani taahhüt ve atalarından getirmek için ne gerekiyorsa yapar. Hızlı ileri sarmayı önlemek için --no-ff
veya --ff-only
ekleyebilir veya yalnızca sonuç hızlı ileri sarılırsa birleştirebilirsiniz. Eğer diziyi kullandığınızda
:
git checkout dmgr2
git pull origin master
pull
komut talimatını git git fetch
çalıştırmak için, ve git merge origin/master
sonra ahlaki eşdeğeri. Yani bu, iki adımı el ile yaptığınız gibi, neredeyse ile aynıdır, ancak muhtemelen size çok ilgili olmayan bazı ince farklılıklar vardır. (Özellikle pull
tarafından işletilen fetch
adım sadeceorigin/master
getiriyor ve senin repo ref güncelleme değildir: 1 herhangi bir yeni kaydedilmesini rüzgarlar sevk-yalnızca özel FETCH_HEAD
referans olarak.)
Eğer git fetch origin
daha-açık kullanırsanız (daha sonra isteğe bağlı etrafa bakmak) ve daha sonra git merge origin/master
dizisi, ayrıca ağ üzerinden tek fetch
vadede ile, uzaktan kumanda ile güncel kendi yerel master
getirebilir:
git fetch origin
git checkout master
git merge --ff-only origin/master
git checkout dmgr2
git merge --no-ff origin/master
Örneğin.
Bu ikinci kısım değiştirildi-ı olmuştur demek şimdi fırsatçı "uzak şube" referanslar günceller "sabit" -in git 1.8.4. (Sürüm notlarının da belirttiği gibi, güncellemeyi atlamak için kasıtlı bir tasarım kararı vardı, ancak daha fazla insanın bunu güncellemeyi tercih ettiği ortaya çıkıyor.Eski uzak şube SHA-1'ini isterseniz, varsayılan olarak reflog'a kaydedilir ve bu nedenle geri yüklenebilir. Bu aynı zamanda yukarı akış yönlendirme bulmak için yeni bir git 1.9/2.0 özelliği sağlar.)
ilk önce tüm değişikliklerinizi dmgr2 dalında yapın. ve ardından 1.git kontrol master'ı ana sayfasına yönlendirin ve en son değişikliği yapın. 2.git çekin dtgr2 4.git push -u orijin ustası Ve sonra dmgr2'ye geri dönün 5.git checkout dmgr2 –
Ben zaten tüm değişiklikleri benim dmgr2 dalına taahhüt ettim, eğer adım 4'ü gerçekleştirirsem –
'u eklediğimi unuttum. Bunu yapmak istemiyorum –