Uzak bir Git deposu ile nasıl eşitlenir?


94

Github'da bir projeyi çatalladım, bazı değişiklikler yaptım, şimdiye kadar çok iyi.

Bu arada, çatalladığım depo değişti ve bu değişiklikleri depomda almak istiyorum. Bunu nasıl yaparım ?

Yanıtlar:


78

Genellikle git pullyeterlidir, ancak hangi düzeni seçtiğinizden (veya sizin için github'un seçtiğinden) emin değilim.


4
Uzaktan kumandayı getirecek ve şubeyi birleştirecek şekilde yapılandırmadıysanız git pull çalışmayacaktır.
Abizern

Bunun "çatal yapma" aşamasında yapıldığını varsayıyorum. Bu bilgi atılmadığı sürece, hala orada olması gerekir.
Šimon Tóth

git pull'u https ile kullanmak işe yaramadı, ancak http ile işe yaradı ... şimdi güncelim, Teşekkürler!
George Profenza

@GeorgeProfenza Bu güvenli değil. Kullanmayı düşününssh
JVE999

66

Güncellemelerinin ana sürümde olduğunu ve değişiklikleri birleştirmek istediğiniz dalda olduğunuzu varsayarsak.

git remote add origin https://github.com/<github-username>/<repo-name>.git
git pull origin master

Ayrıca, daha sonra birleştirmeyi arşiv kopyanıza geri göndermek isteyeceğinizi unutmayın:

git push origin master

ekleme çalıştı, çekmedi :(, https: error ile ilgili bir hata aldım: github.com/mrdoob/three.js.git/info/refs fatal'e erişirken libcurl'de https desteklenmiyor veya devre dışı bırakılmıyor fatal: HTTP isteği başarısız oldu İpuçları?
George Profenza

Hangi platform? Görünüşe göre git'in bağımlılıklarından biri tamamlanmadı.
Mark Hibberd

Bir çözüm olarak, https yerine git protokolünü de kullanabilirsiniz, örneğin git remote set-url git: //github.com/mrdoob/three.js.git - sonra git çekmeyi deneyin.
Mark Hibberd

osx üzerinde çalışıyor. Git pull github.com/mrdoob/three.js.git master'ı kullanarak almayı başardım
George Profenza

3
komutlarda yazım hatası, sanırım, ile başlayıp originalsonra geçiş yaporigin
Benjol

47

Orijinal depoyu bir yukarı akış olarak eklemelisiniz.

Her şey burada iyi açıklanmıştır: https://help.github.com/articles/fork-a-repo

git remote add upstream https://github.com/octocat/Spoon-Knife.git
git fetch upstream
git merge upstream/master
git push origin master

5

Orijinal depoyu (çatalladığınız) bir uzaktan kumanda olarak eklemeniz gerekir.

git remote add github (orijinal depo için klon url'si)

Daha sonra değişiklikleri yerel deponuza getirmeniz gerekir

git github getir

Artık yerel deponuzda orijinal deponun tüm şubelerine sahip olacaksınız. Örneğin, ana dal olacaktır github/master. Bu şubeler ile dilediğinizi yapabilirsiniz. Bunları şubelerinizde birleştirin vb.


1
upstreamUzaktan kumandanın adını öneririm .
vidstige

@vidstige Bir depo için birden fazla uzaktan kumandanız varsa, bu yeterince açıklayıcı değildir. Örneğin, sık sık Github'da ve Dropbox'ta bir uzaktan kumandam var.
Abizern

iyi, o zaman tabii ki mantıklı. Bu nedenle, onlara kendi adınızı verme yeteneğine sahip olmak harika. Kurulumunuzun muhtemelen kendi çatalınız olan uzak denilen bir orijine sahip olmaktan daha az yaygın olduğunu ve ardından genellikle "yukarı akış" olarak adlandırılan orijinali elde ettiğinizi fark edin.
vidstige

-9

Linux için:

git add * 
git commit -a --message "Initial Push All"
git push -u origin --all

4
Bu, OP'nin aradığı şeyin tam tersi.
Ryan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.