SORU
20 Kasım 2013, ÇARŞAMBA


gıt geliştirme şube içine ustadan çekin

Bir şube dmgr2 (geliştirme) adı verilen ve ana daldan (canlı site) çekin ve geliştirme şube tüm değişiklikleri dahil etmek istiyorum. daha iyi bir yolu bunu yapmak için vardır? yapmayı planladığım şey burada:

 git checkout dmgr2
 git pull origin master

bu gelişme benim şube live değişiklikleri çekmek gerekir, ya da bu yanılıyor muyum?

CEVAP
20 Kasım 2013, ÇARŞAMBA


Listelenen adımları çalışacak, ama size daha fazla seçenek sunar daha uzun bir yolu 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 yapılabilir herhangi bir noktada önce merge, yani, takas düzen getirme ve ödeme, çünkü fetch sadece gider isimli uzaktan (origin) ve der ki: "bana her şeyi olduğunu sanmıyorum", yani, tüm haller, tüm dalları. Deponuzu kopyalanan olsun, ama şube uzak branch adlı origin/branch adında.

Bu noktada "ne" mi, ya da tam tersi. bunu görmek için herhangi bir görüntüleyici (git log, gitk, vb) kullanabilirsiniz Bazen bu yararlı için Sıcak Bulanık Duygular ("ah, evet, bu aslında ne istiyorum") ve bazen yararlı değişen stratejileri tamamen ("Vay be, ben istemiyorum BÖYLE şeyleri henüz").

Son olarak, merge emir alan, verilen taahhüt, adı gibi origin/master, ve gerekiyorsa getirmek işlemek ve onun ataları, ne şube olduğunuz zaman çalıştırmak merge. --no-ff --ff-only ileri önlemek için yerleştirin veya eğer sonuç Eğer isterseniz hızlı ileri ise, sadece birleştirebilirsiniz.

Sırası kullandığınızda:

git checkout dmgr2
git pull origin master

pull komut gıt git fetch git merge origin/master ahlaki eşdeğer çalıştırmak için yönlendirir. Bu yüzdenneredeyseelle, iki adım gidiyor aynı, ama belki de sizin için çok ilgili olmayan bazı küçük farklar vardır. fetch adım pull üstüne getiriyor özellikle. ( ^em>sadeceorigin/master repo: hakem güncelleme değil1yeni rüzgarlar başvurulan FETCH_HEAD özel referans ile tamamlar.)

Kullanırsanız daha açık git fetch origin (isteğe bağlı olarak, etrafa) ve git merge origin/master dizisi, sen de getir kendi yerel master güncel uzaktan kumanda ile tek kişi fetch rastlamak ağ:

git fetch origin
git checkout master
git merge --ff-only origin/master
git checkout dmgr2
git merge --no-ff origin/master

örneğin.


1—Ben değişti bu ikinci bölümünde ki "sabit"—gıt 1.8.4, şimdi güncellemeleri "uzak şube" başvurular fırsatçı. (Sürüm notları dediği gibi oldu, güncellemeyi atlamak için kasıtlı bir tasarım kararı, ama daha fazla insan bu git güncellemek tercih çıkıyor. Eğer isterseniz eski uzaktan dalı, ve böylece geri kazanılabilir, reflog kaydedilen varsayılan olarak SHA-1,. Bu, akıntıya kürek rebases bulmak için 1.9/2.0 yeni git özelliğini etkinleştirir.)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 8lacKy

    8lacKy

    30 Mart 2009
  • Digital Bounds

    Digital Boun

    19 Temmuz 2013
  • Lancome USA

    Lancome USA

    30 HAZİRAN 2009