Git pull origin master ve git pull origin / master arasındaki farklar


283

Arasındaki fark nedir git pull origin masterve git pull origin/master?


1
calmh hemen hemen bunu kapsıyor, ama cevap vermemek asla yapmamalısınız git pull origin/master. [Yerel olarak depolanmış] uzak dalı birleştirmek istiyorsanız origin/master, tuşunu kullanın git merge origin/master.
Cascabel

3
@Jefromi: Git çekmeye kıyasla git birleştirme yapmanın neden daha iyi olduğunu açıklayabilir misiniz?
Rachel

16
git pullaracı git fetchtakip git merge. İçeriği uzaktan kumandadan alır, ardından mevcut dalınızla birleştirir. Ancak origin/masteryerel bir şubedir (uzak bir şubeyi takip eder). Birleştirmek istiyorsanız, herhangi bir şey getirmeniz gerekmez. git pull origin/masterBir uzaktan kumandadan gerçekten almadığınızı söylemek yanıltıcıdır .
Cascabel

Yararlı bilgiler için teşekkürler Jefromi. Gerçekten kolay anlaşılması kolay bir kavram değil.
Rachel

Bunu okuyan ve hala kafası karışmış olanlar için origin/master, ana dalı uzaktaki ana dalda önbelleğe alan yerel olarak depolanan bir daldır.
iheanyi

Yanıtlar:


355

git pull origin masteroriginuzaktan kumandadan, masterdaldan değişiklikleri alır ve bunları yerel kullanıma alınmış dalda birleştirir.

git pull origin/masterdeğişiklikleri yerel olarak depolanan daldan alır origin/masterve bunu yerel kullanıma alınmış dalla birleştirir. origin/masterŞube esasen son çekildiğini halinin "önbelleğe alınan kopya" dır origino git deyişiyle uzak şube denmesinin nedeni olan. Bu biraz kafa karıştırıcı olabilir.

Hangi şubelerin kullanılabildiğini git branchve git branch -r"uzak şubeleri" görebilirsiniz.


1
durumunda git pull origin masterbu değişikliklerle kökenli uzaktan değişiklikleri veya ustamın şube ile benim şimdiki şube güncelleyecek, her zaman ana dal birleşecek, benim repo başka dala diyelim am sağlayan ve daha sonra komuta yukarıdaki yapıyorum?
Rachel

4
@calmh: git merge(ve bu nedenle git pull) daima mevcut dalda birleşir. Mevcut dalınızdan başka bir şeyle birleştirmek için önce onu kontrol et.
Cascabel

2
um .. 'Orijin / üstat' ın 'orijin üstadı'ndan ne kadar farklı olduğunu görmüyorum; ikisi de köken olarak ana dal. Aslında ne zaman farklı olacaklarına bir örnek verebilir misiniz?
hasen

69
git pull origin/masterbu yazıldığında geçerli bir komut olabilir, ancak günümüzde (git 1.7.10.3) başarısız olur fatal: 'origin/master' does not appear to be a git repository(olması gerektiği gibi - çekme her zaman uzaktan kumandalardan çekmek içindir).
user1338062

3
Git neden bu kadar kafa karıştırıcı? Yani tamamen 4 havuzumuz var, değil mi? Bir (1) uzak depo, (2) bir yerel depo, (3) bir hazırlama havuzu, (4) bir yerel-uzak aka başlangıç ​​noktası / yöneticisi var mı? Neden git # 4 deposuna sahip olacak?
Mugen

3

git pull origin masterUzaktan kumandanın ana dalındaki tüm değişiklikleri getirecek ve yerelinize birleştirecek.Genellikle git pull origin / master kullanmıyoruz.Aynı şeyi yapabiliriz git merge origin/master. benim ana git pull origin/masterhata yerel şubenize. Benim durumumda hata atıyor.


1

git pull= git fetch+git merge origin/branch

git pullve git pull origin branchyalnızca ikincisinin yalnızca başlangıç ​​noktasını / dalını "güncellemesi" ve tüm başlangıç ​​noktası / * kadar git pulldeğil.

git pull origin/branchçalışmaz, çünkü git fetch origin/branchgeçersiz olanı yapmaya çalışır .

İlgili soru: git fetch + git merge origin / master vs git pull origin / master

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.