Koştuğumda:
git push origin branchname
Tam olarak nedir originve neden şube adından önce yazmam gerekir?
Koştuğumda:
git push origin branchname
Tam olarak nedir originve neden şube adından önce yazmam gerekir?
Yanıtlar:
originsisteminizdeki belirli bir uzak depo için bir takma addır. Aslında o deponun malı değildir.
Yaparak
git push origin branchname
originhavuza itmeyi söylüyorsun . Uzak deposu adlandırmaya gerek yoktur origin: aslında aynı deponun başka bir geliştirici için farklı bir takma adı olabilir.
Uzaktan kumandalar, yalnızca depoların URL'sini saklayan bir takma addır. Düğmesini kullanarak her bir uzaktan kumandaya hangi URL'nin ait olduğunu görebilirsiniz.
git remote -v
Gelen pushkomutla kullanabileceğiniz uzaktan kumandalarını veya sadece bir kullanabilirsiniz URL'yi doğrudan. URL'yi kullanan bir örnek:
git push git@github.com:git/git.git master
git pushönce o havuzun yapılandırmasını (kontrol edebileceğiniz git config --list) denilen bir anahtar için kontrol ettiğini görebilirsiniz branch.<branchname>.remote. Bu ayarlanmadıysa, "varsayılan olarak kaynaklanıyor" - git-scm.com/docs/git-push
originolduğu değil uzaktan veri havuzu adı. Bu, uzak depo URL'sinin yerine anahtar olarak ayarlanmış bir yerel takma addır.
Kullanıcının bir push isteğinde bulunurken tüm uzak URL'yi yazmak zorunda kalmasını önler.
Bu ad varsayılan olarak ve uzaktan kumandadan ilk kez klonlanırken Git tarafından konvansiyon için ayarlanır.
Bu takma ad sabit kodlanmış değildir ve aşağıdaki komut istemi kullanılarak değiştirilebilir:
git remote rename origin mynewalias
Daha fazla açıklama için http://git-scm.com/docs/git-remote adresine bakın .
Git, deponuzun diğer kopyalarının URL'leri olan "uzaktan kumandalar" kavramına sahiptir. Başka bir havuzu klonladığınızda Git otomatik olarak "orijin" adlı bir uzaktan kumanda oluşturur ve bunu gösterir.
Uzaktan kumandayla ilgili daha fazla bilgiyi yazarak görebilirsiniz git remote show origin.
git remote show origin, neden basit değil git show origin? Bir sebep olmalı, nedir? Teşekkürler.
originuzak deponuzun URL'sinin varsayılan takma adıdır .
Basit! "origin", böyle bir komutu çalıştırdığınızda uzak deponuza takma adınızdır:
git remote add origin git@github.com:USERNAME/REPOSITORY-NAME.git
O andan itibaren Git, "orijinin" söz konusu depoya (bu durumda bir GitHub deposuna) işaret ettiğini bilir. Buna "github" veya "repo" ya da ne istersen diyebilirdin.
Ben de bununla karıştırdım ve aşağıda öğrendiklerim
Bir havuzu klonladığınızda, örneğin GitHub'dan:
origindepoyu kopyaladığınız URL'nin takma adıdır. Bu takma adı değiştirebileceğinizi unutmayın.
masterUzak depoda (tarafından takma origin) bir dal var . masterYerel olarak oluşturulan başka bir şube daha var .
Bu SO sorusuyla ilgili daha fazla bilgi bulunabilir: Git dallanma: master ile orijin / master ve uzaktan kumandalar / orijin / master
Bir havuzu klonladığınızda git clone, otomatik olarak originklonlanan depoya geri dönme adı verilen bir uzak bağlantı oluşturur . Bu, yukarı yönlü değişiklikleri çekmek veya yerel taahhütleri yayınlamak için kolay bir yol sağladığı için merkezi bir deponun yerel bir kopyasını oluşturan geliştiriciler için yararlıdır. Bu davranış, Git tabanlı projelerin çoğunun merkezi depo kökenini de çağırmasının nedenidir.
Burada en iyi cevap:
https://www.git-tower.com/learn/git/glossary/origin
Git'te "origin", bir projenin başlangıçta klonlandığı uzak depo için bir kısayol adıdır. Daha doğrusu, o orijinal deponun URL'si yerine kullanılır ve böylece referansı daha kolay hale getirir.
Gönderen https://www.git-tower.com/learn/git/glossary/origin :
Git'te "origin", bir projenin başlangıçta klonlandığı uzak depo için bir kısayol adıdır. Daha doğrusu, o orijinal deponun URL'si yerine kullanılır ve böylece referansı daha kolay hale getirir.
Kökeni hiçbir şekilde "büyülü" bir isim değil, sadece standart bir sözleşmedir. Bu sözleşmeyi el değmeden bırakmak mantıklı olsa da, herhangi bir işlevsellik kaybetmeden onu mükemmel bir şekilde yeniden adlandırabilirsiniz.
Aşağıdaki örnekte, "klon" komutunun URL parametresi, klonlanan yerel depo için "başlangıç noktası" olur:
git clone https://github.com/gittower/git-crash-course.git
Diğer cevaplar origin, uzak bir deponun URL'si için tam olarak doğru olmayan bir takma ad olduğunu söylüyor . Şununla başlayan bir adresin httpURL iken , bir adresin git@bir URI veya Evrensel Kaynak Tanımlayıcısı olduğu unutulmamalıdır .
Tüm URL'ler URI'dir, ancak tüm URI'ler URL değildir.
Kısacası, yazdığınızda git remote add origin <URI>, yerel git'e kelimeyi her kullandığınızda originbelirttiğiniz URI anlamına geldiğini söylüyorsunuz. Bunu, değeri tutan bir değişken gibi düşünün.
Ve sadece bir değişken gibi, istediğiniz gelecekte erişmek (örn. github, heroku, destination, Vs).
uzak (depo URL takma adı) → başlangıç noktası (yukarı akış takma adı) → master (dal takma adı);
remoteSeviye ile aynı working directory, index, repository,
origin, uzak depo şubesine yerel depo dalı eşlemesi