SORU
7 EKİM 2012, Pazar


Çekme talebimi birleştirildi, ne yapmak gerekir?

Geçenlerde GitHub bir proje katıldı. Aşağıdaki yaptım:

Çatallı orijinal depo, klonlanmış benim yerel makine, bir şube için düzeltme mevcut hata, Sabit hata olan şube, itti bu şube benim repo, göndermek bir çek istemek için yazar bir depo birleştirme benimdüzeltmeana daldan dala.

Ne yapacağımı bilmiyorum bu yüzden başka bir kod üzerinde yatan benim ilk kez oldu. Şimdi çekme talebimi yazar tarafından orijinal repo/proje için birleştirildi.

Bundan sonra ne yapmalıyım?Şube silmeli miyim? Şube birleştirme gerekir? Başka bir şey?


Ek bilgi:

Orijinal proje tek bir şube var.

Ben de en son güncellemeleri orijinal repo formu almak için akıntıya karşı bir set var.(Bunun gibi) yaptım:

git remote add upstream https://path/to/original/repo.git

Ve bu gibi güncellemeleri alıyorum:

git fetch upstream

CEVAP
7 EKİM 2012, Pazar


Bir sonraki adımın ne olduğu: yeni özellikler katkısı veya kendi özel şube (sadece çatalın itti). diğer yanlışlıkları düzeltmeye devam
Çatal kalır, ama çatalını içinde dalları anlamı gelip gidebilir.
Ayrıca eğer daha fazla katkıda bulunmak için planlıyorsanız değil çatal kaldırabilirsiniz, ama 36**.

Daha kolay.

  • sil fix şube (aslındait is now deleted for you) eğer çatal (ve yerel klonlanmış repo: "Delete a Git branch both locally and remotely")
  • Eğer master hangi düzeltme entegre olmuştur Dalı olsaydı (ileri bir) birleştirme git pull upstream master: hayır rebase bu noktada gerekli.
  • master updated yerel (şimdi upstream master en son birlikte) üstünde düzeltme bir şube yeniden oluşturun.

Ancak, hiçbir zaman göndermeden önce bir adım unutmayıngelecektalep çeksin

mevcut şube (fix) Yukarı hedef daldan ilk rebase

(upstream çatallı var orijinal repo olmak: "What is the difference between origin and upstream in github")

Hiçbir şey orijinal repo geri göndermeden önce ("") memba, iş yerin üstüne kuruludur emin olmak gerekiren sondedi orijinal repo (veya çekme isteği upstream tekrar uygulanan birleştirme bir kez ileri bir repo neden olmaz).
Mesela, "Workflow for managing pull requests on shared repos in github". bakın

Diğer bir deyişle, upstream tamirat meşgul iken (yeni itti tamamlar) gelişebilir. Yukarı sizin tamamlar emin olmak için son bir iş üstünde senin düzeltmeleri tekrar ihtiyacınız hala upstream en son ile uyumludur.


OP Santosh Kumar in the comments sorar:

Ve usta upstream çektiği birleştirilmiş var, şimdi ne olacak?

Eğer son çekme isteğinizi beri tüm yeni düzeltmeleri yapmak olsanız bile, yukarıda (master updated üstüne yeni bir şube fix silip)

Eğer çekme isteğinizi bu yana herhangi bir daha fazla iş varsa, Eğer yapmak istersem upstream birleştirme olmazyeniçekme isteği: çekmek isterimve rebase:

git pull --rebase upstream master

Bu şekilde, tüm yeni yerel iş tekrar üstüne en son upstream master tamamlar (zorlama benim yerel repo), diyelim ki master hedef şube olacak entegre geleceğimi çekme isteği.

Yerel çalışmalarım 'origin', *25.* GitHub benim çatal olan zorlayabilirim sonra
Ve benim çatal GitHub, ben sağ salim bir çekme isteği, bilerek, sadece add new tamamlar upstream gerekmeden herhangi bir birleştirme çözünürlük: birleştirme bu yeni iptalleri upstream repo anlamına basit bir ileri birleştirme.


Hangi (teslim alınmış) fix şube rebase istiyorsun üstüne şube belirtmeden git pull --rebase bir işe yaramaz:

(git pull --rebase) diyor ki:

You asked to pull from the remote '`upstream`', but did not specify a branch. 

Son ana eklemek gerekir? Ve bu ne olacak?, fix benim şube siler?

Evet, çekme isteğini hedef olacak olan şube, örneğin belirtebilirsiniz 'master'.
fix şube silmez, ama master repo getirilen memba üstüne tekrar.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • buttheadgsxr1000

    buttheadgsxr

    24 Ocak 2008
  • Living Waters

    Living Water

    9 AĞUSTOS 2006
  • Mr_BrettHooge

    Mr_BrettHoog

    3 Ocak 2011