GitHub'da origin ve upstream arasındaki fark nedir?


Yanıtlar:


804

Bu, GitHub çatalları bağlamında anlaşılmalıdır (bu çatalı yerel olarak klonlamadan önce GitHub deposunu GitHub'a kopyaladığınız yer).

  • upstreamgenellikle çatalladığınız orijinal repo anlamına gelir
    ( daha fazla terim için " downstream" ve " upstream" nin tanımı için de bakınız upstream)
  • origin sizin çatalınız: GitHub'daki kendi repo, GitHub'ın orijinal repo klonu

GitHub sayfasından:

Repo klonlandığında, originGitHub'daki çatalınıza işaret eden varsayılan bir uzaktan kumandaya sahiptir , çatallandığı orijinal repoyu değil.
Orijinal repoyu takip etmek için adlı başka bir uzaktan kumanda eklemeniz gerekirupstream

git remote add upstream git://github.com/<aUser>/<aRepo.git>

( aUser/aRepoçatalla doldurduğunuz orijinal içerik oluşturucu ve depo referansıyla)

Orijinal repodan almakupstream için kullanacaksınız (yerel kopyanızı katkıda bulunmak istediğiniz projeyle senkronize tutmak için).

git fetch upstream

( git fetchtek başına originvarsayılan olarak getirilir, bu da burada gerekli değildir)

Kendi deponuza katkıda bulunabileceğiniz originiçin çekme ve itme yöntemini kullanacaksınız .

git pull
git push

(yine parametresiz, varsayılan olarak 'origin' kullanılır)

Çekme talebindeupstream bulunarak repoya geri döneceksiniz .

çatal ve yukarı akış


11
Ayrıca upstreamgenel olarak ne olduğunu
bilmenize

2
@MaxRydahlAndersen doğru, ama Git'i sarıcı olmadan kullanmayı seviyorum, bu yüzden şimdilik bu konvansiyonu (yukarı akış ve orijin) koruyacağım.
VonC

22
Şimdiye kadar gördüğüm çatalların nasıl çalıştığına dair en iyi açıklama. Sen benim oyumu al.
CodeChimp

9
Görsel üzerinde harika bir çalışma. Çok basit ileri ve anlaşılır cevap. Tam da aradığım şey buydu.
tayopi

1
@ iamrudra git remote -v, başlangıç ​​ve yukarı akış için aynı url'yi gösteriyorsa, evet, aynı uzak repo'ya geçiyorsunuz.
VonC
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.