'git pull origin mybranch' yerel mybranch N kökenli önde tamamlar bırakır. Neden?
Ben sadece anlamadığım git pull
, hakkında garip bir şey gözlemlediler.
Cuma günü, yerel bir şube üzerinde çalıştım. hadi mybranch
Ara. Ofis kökeni benim github repo) ben bastırdım terk etmeden önce: git push origin mybranch
.
Evde dün pull
ed dizüstü Bilgisayarım için mybranch, biraz daha kodlama yaptı, ve sonra github sırtımda değişiklikler itti (kökenli).
Şimdi tekrar iş başı yapıyorum ve iş makinama dün (hafta sonu çalışması ... ... oranın yerel repo hiçbir şey değiştirmedim): değişiklikleri çekmeye çalıştı
git pull origin mybranch
bu bir hızlı ve iyi olan ileri birleştirme neden oldu. Ben o zaman dedi git status
ve bir yaptı
# On branch mybranch
# Your branch is ahead of 'origin/mybranch' by 6 commits.
#
nothing to commit (working directory clean)
Değil mi? Nasıl kökenli hatta hafta sonu dokun VE çekip alamayınca önde tamamlar 6 olabilir mi? git diff origin/mybranch
ve farklar tam olarak ben sadece uzaktan çektiği 6 değişiklik yaptım.
Sadece "" çalıştırarak bu 11**:. tamir edebilirim
From git@github.com:me/project
af8be00..88b0738 mybranch -> origin/mybranch
Görünüşe göre, benim yerel repo bazı referans nesneleri eksikti, ama bu nasıl olabilir? Bir çekme yapar zaten getir ve git fetch origin
git fetch origin mybranch
aynı sonucu olmalıdır, böylece şube dışında bir şey üzerinde çalışma, etmedim mi?
Her zaman git pull origin branchname
yerine git pull origin
kullanmalıyım?
Kafam karıştı.
CEVAP
git pull
mevcut şube içine açıkça getirilen başları (veya hiçbiri uzak şube birleştirme için yapılandırılmış) birleştirmeden önce uygun parametreleri ile git fetch
çağırır.
Sözdizimi: git fetch <repository> <ref>
<ref>
sadece bir şube isimde bir kolon bir 'tek çekim' getir yok bunu bir standart getirme tüm izlenen dalları belirtilen uzak ama yerine getirir sadece adında şube içine FETCH_HEAD
.
Güncelleme:eğer getirmek istediğin ref izleyen dalın adı ise orada 1.8.4, o zamandan beri Git sürüm takip Dalı şimdi fetch
tarafından güncellenecektir. Bu değişiklik, özellikle önceki davranışlarına neden olan karışıklığı önlemek için yapıldı.
Ne zaman sen gerçekleştirmek git pull <repository> <ref>
, FETCH_HEAD
profesyonel olarak yukarıda, sonra birleştirilmiş halinde teslim HEAD
ama hiçbiri standart izleme dalları için uzaktan depo olacak güncelleme (Gıt <1.8.4). Bu yerel olarak anlamına gelirgörünüyoruzak şube daha önde gibi, aslında ise güncel.
Şahsen ben her zaman ben birleştirmeden önce zorla güncellemeler hakkında herhangi bir uyarı görüyorum çünkü git fetch
git merge <remote>/<branch>
takip ve birleştirme ne tür bir önizleme olabilir. Eğer kullandım git pull
biraz daha yaparım, yapardım, bir düz git pull
ile herhangi bir parametre çoğu zaman, güvenerek branch.<branch>.remote
branch.<branch>.merge
'doğru olanı yap'.
't ediyorum kökenli önde tamamlar...
Yerel gıt tamamlar atmak...
XMLHttpRequest Kökenli null Access-Con...
Gıt arasındaki farklar köken usta & pu...
Neden yerel değişkenleri başlatma, ama...