'Git push origin master'daki' orijin'in anlamı nedir


99

Koştuğumda:

git push origin master

... originbu bağlamdaki anlamı nedir?


7
Bakılacak Git öğretici - "Eğer küçük topluluk içinde çalışırken, o tekrar tekrar aynı depo ile etkileşim alışılmadık değildir uzak depo steno tanımlayarak, kolaylaştırabilir.". Bunu yapmazsanız, varsayılan olarak origin kullanılır.
sakisk

1
İlgili gönderi - Git'te "köken" nedir?
RBT

Yanıtlar:


76

originklonladığınız uzak git deposunun varsayılan adıdır. Göz at .git/refs/remotes/origin/*ve .git/configgit bunu biliyor nasıl olduğunu öğrenmek için kaynaklar dahilinde.


7
Ben "deponuzu klonladı" dan kaynaklarınızı kontrol etmedi "diyebilirim - ikincisi, merkezi VCS'den bir tutma ifadesidir ve DVCS'ye yeni başlayanlar için biraz yanıltıcı olabilir.
Cascabel

1
Git remote add origin komutu ne olacak? Neden bir menşe eklediniz? stackoverflow.com/a/8248542/719689
AlxVallejo

5
git remote add originherhangi bir özel teknik anlamı olmayan, origin adında bir uzak depo eklemek anlamına gelir, bu yalnızca orijinal bir uzak depo için yaygın olarak kullanılan varsayılan bir addır. İsterseniz köken yerine foobar kullanabilirsiniz .
skuro

1
@AlxVallejo, genellikle bu depodan klonlamadığınızda kullanılır, bunun yerine depoyu yerel olarak oluşturduğunuzda ve uzak depo olarak başka bir yerde kaynağı oluşturduğunuzda kullanılır.
Matt

4
@KasunSiyambalapitiya şube adıdır. İle git push origin masteradıyla tanımlanan uzaktan repo (dosya sisteminden yani) henüz kontrol yerel dalında kaydedilmesini tüm itmek için git söyle originadlı kendi uzaktan dal üzerinde master.
skuro

86

git'in bir "uzaktan" kavramı vardır - bunlar bir arşiv için kolay takma adlar gibidir, bu nedenle başka bir depoya her başvurmak istediğinizde tam URL'sini kullanmanız gerekmez.

origindiğerleri gibi sadece bir uzaktan kumanda, ancak bir depoyu ilk kez klonladığınızda, git clonevarsayılan olarak originklonladığınız URL'ye başvurmak için bir uzaktan çağrı ayarlayacağından bunu çok sık görürsünüz .

Bunu yaparsanız git remote -v, yerel deponuzda kurduğunuz tüm uzaktan kumandaları ve başvurdukları URL'leri gösterir. (Bunun yukarıda söylediğimden biraz daha karmaşık olduğunu göreceksiniz, çünkü bir uzaktan kumanda, aktarma ve getirme için farklı bir URL'ye başvurabilir, ancak muhtemelen bunun için endişelenmenize gerek yoktur. :))


Git remote add origin komutu ne olacak? Neden bir menşe eklediniz? stackoverflow.com/a/8248542/719689
AlxVallejo

2
@AlxVallejo: originBir depoyu kullanarak yapmak yerine kendiniz başlattıysanız , uzaktan kumandayı kendiniz ekleyebilirsiniz git clone.
Mark Longair

@MarkLongair masterkodun sonunda ne kullanıyoruz
Kasun Siyambalapitiya

35

Menşe, kodu orijinal olarak aldığınız yerdir.


3
Benim için bu bir şaka değil, kaynağın ne anlama geldiğini hatırlamak için bir anımsatıcı kural. Ve sevdiğim biri, bu arada +1
MiGU

Baban şakasından zevk alsam da, bu doğru değil. Yerel olarak yeni bir repo oluşturabilir ve herhangi bir uzaktan kumanda bilgisi olmadan buna taahhüt verebilirim. Daha sonra uzak adlandırılmış bir kaynak oluşturabilir ve yerel olarak yaptığım tüm işlemleri ona aktarabilirim. Origin, arşivin orijinal kaynağı olmak zorunda değildir.
Rob Bell

3

Bu yardımcı olur

https://www.git-tower.com/learn/git/glossary/origin

n Git, "kaynak", bir projenin orijinal olarak klonlandığı uzak deponun kısa adıdır. Daha doğrusu, bu orijinal deponun URL'si yerine kullanılır ve bu nedenle referans almayı çok daha kolay hale getirir.

Kökeni hiçbir şekilde "sihirli" bir ad değil, sadece standart bir kuraldır. Bu kuralı değiştirmeden bırakmak mantıklı olsa da, herhangi bir işlevsellik kaybetmeden mükemmel bir şekilde yeniden adlandırabilirsiniz.

Aşağıdaki örnekte, "klonla" komutunun URL parametresi, klonlanmış yerel havuz için "kaynak" olur:

git klon https://github.com/gittower/git-crash-course.git


2

origin, klonu oluşturduğunuz URL'yi gösterecek ilk repoyu klonladığınızda git tarafından uzaktan oluşturulur. örneğin: kaynak git@github.com: / PROJECT_U


0

"Kaynak", taahhütlerinizi yayınlamak istediğiniz uzak deponun adıdır. Geleneksel olarak, varsayılan uzak depoya "kaynak" denir, ancak aynı anda birkaç uzaktan kumandayla (farklı adlarla) çalışabilirsiniz.

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.