Listelediğiniz adımlar işe yarar, ancak size daha fazla seçenek sunmanın daha uzun bir yolu vardır:
git checkout dmgr2 # gets you "on branch dmgr2"
git fetch origin # gets you up to date with origin
git merge origin/master
fetchÖnce komut herhangi bir noktada yapılabilir merge, yani sen sırasını takas edebilir alıp nedeniyle çıkış, fetchsadece uzaktan adlandırılmış (gitse origin) ve ona der ki: "çak bir şeyi sen bende olmayan şey var ", yani, tüm dallarda taahhüt eder. Deponuza kopyalanırlar, ancak uzaktan kumandadaki origin/branchherhangi bir dal için adlandırılırlar branch.
Bu noktada git log, gitk"sahip olduklarını" görmek için herhangi bir görüntüleyiciyi ( , vb.) Kullanabilirsiniz . Bazen bu sadece Sıcak Bulanık Duygular için yararlıdır ("ah, evet, aslında istediğim budur") ve bazen stratejileri tamamen değiştirmek için yararlıdır ("whoa, henüz bu şeyleri istemiyorum").
Son olarak, mergekomut, adlandırabileceğiniz verilen taahhüdü origin/masteralır ve o taahhüdü ve atalarını getirmek için ne gerekiyorsa yaparsanız, çalıştırdığınızda hangi dalda olursanız olun merge. Bir hızlı ileri sarmayı ekleyebilir --no-ffveya --ff-onlyönlemek için veya isterseniz sonuç hızlı ileri sarılmışsa birleştirebilirsiniz.
Diziyi kullandığınızda:
git checkout dmgr2
git pull origin master
pullKomut talimatını çalıştırmak git'e git fetchve daha sonra ahlaki eşdeğer git merge origin/master. Dolayısıyla bu, iki adımı elle yapmakla neredeyse aynıdır, ancak muhtemelen sizinle ilgili olmayan bazı ince farklılıklar vardır. (Özellikle fetchadım koşmak pullgetiriyor sadece origin/master ve senin repo ref güncelleme değildir: 1 herhangi bir yeni onaylatabilirsiniz rüzgarlar sevk-sadece özel tarafından FETCH_HEAD. Referansı)
Daha açık git fetch origin(daha sonra isteğe bağlı olarak etrafa bakın) ve ardından git merge origin/mastersıra kullanırsanız, masteruzaktan kumandayla kendi yerel fetchağınızı da güncelleyebilirsiniz ve ağda yalnızca bir tane çalışır:
git fetch origin
git checkout master
git merge --ff-only origin/master
git checkout dmgr2
git merge --no-ff origin/master
Örneğin.
1 Bu ikinci bölüm değiştirildi - "sabit" diyorum - git 1.8.4'te artık "uzak dal" referanslarını fırsatçı olarak güncelliyor. (Sürüm notlarında belirtildiği gibi, güncellemeyi atlamak için kasıtlı bir tasarım kararıydı, ancak daha fazla kişinin git güncellemesini tercih ettiği ortaya çıktı. Eski uzak dal SHA-1'i istiyorsanız, varsayılan olarak kaydediliyor ve bu da geri dönüşlüdür, bu da yukarı akış referanslarını bulmak için yeni bir git 1.9 / 2.0 özelliği sağlar.)