Uyarı: push.default ayarlanmamış; dolaylı değeri Git 2.0'da değişiyor


1623

Git'i bir süredir kullanıyorum ve yakın zamanda sadece bu uyarı mesajını bulmaya çalıştığımda bulmak için bir güncelleme indirdim push.

warning: push.default is unset; its implicit value is changing in 
Git 2.0 from 'matching' to 'simple'. To squelch this message 
and maintain the current behavior after the default changes, use: 

  git config --global push.default matching

To squelch this message and adopt the new behavior now, use: 

  git config --global push.default simple

Açıkça belirtilen değerlerden birine ayarlayabilirim, ama ne anlama geliyor? Arasındaki fark nedir simpleve matching?

Bir istemcide değiştirirsem depoları paylaştığım diğer istemcilerde herhangi bir şey yapmam gerekir mi?




1
Not: git 2.8 (Mart 2016) bu uyarıyı kaldıracaktır! Bkz. Stackoverflow.com/a/22356644/6309
VonC

Yanıtlar:


2148

Dokümanlarda ayrıntılı olarak açıklanmıştır , ancak özetlemeye çalışacağım:

  • matchingaraçlar git pusholacak tüm yerel şubesi itmek uzaktan kumandadaki aynı adla olanlara. Bu, istemediğiniz bir dalın yanlışlıkla itilmesini kolaylaştırır.

  • simpleanlamına gelir git push, sadece geçerli dalı git pullçekilecek olana doğru yönlendirir ve adlarının eşleşip eşleşmediğini denetler. Bu daha sezgisel bir davranıştır, bu yüzden varsayılan bu duruma değiştirilir.

Bu ayar yalnızca yerel istemcinizin davranışını etkiler ve komut satırında hangi dalları zorlamak istediğinizi açıkça belirterek geçersiz kılınabilir. Diğer istemciler farklı ayarlara sahip olabilir, yalnızca hangi dalları itmek istediğinizi belirtmediğinizde ne olacağını etkiler .


16
Bu değişikliği bildiğim için memnunum. Gitmek için yeni olduğumda yanlışlıkla tüm yerel şubeleri git pushittim, sadece mevcut şubeyi iteceğini düşünüyorum .
rahul286

51
Güdü, ampirik olarak, çoğu yeni varsayılan davranışı beklemektedir
Blake Miller

125
Belgeleri açmamızı ve bir dize aramamızı söyleyen talimattan ziyade, uyarı mesajının kendisinde harika açık bir özetinizin olması çok daha iyi olacaktır.
hertzsprung

116
"Belgelerde çok açık bir şekilde açıklandı" Tabii, doğru sayfada bitirirseniz , ancak git push kılavuzunun basit kelimeden bahsetmesi bile mümkün değil , muhtemelen bunun yerine birçok kişi buraya geldi .
Gerry

36
hammar'ın özeti git belgelerine göre çok daha özlü bir açıklamadır.
AJ.

19

Bu eski bir yazı olduğunu fark ediyorum ama ben sadece aynı konuya koştu ve cevap bulmakta sorun vardı ben biraz eklemek düşündüm.

Yani @ hammar'ın cevabı doğrudur. Kullanmak push.default simple, bir bakıma, dallarınızdaki izlemeyi yapılandırmak gibidir, böylece itme ve çekme sırasında uzaktan kumandalar ve dallar belirtmeniz gerekmez. Bu matchingseçenek, tüm dalları varsayılan uzaktan kumandadaki karşılık gelen karşılıklarına iter (aksi takdirde repo'yu yapılandırmadıkça kurulan ilk).

Diğerlerinin gelecekte yararlı bulacağını umduğum bir şey, Git 1.8'i OS X Mountain Lion'da çalıştırıyor ve bu hatayı hiç görmemem. Mavericks'e yükseltme aniden ortaya çıktı ( işletim sistemi güncellemesine kadar hiç görmediğim şeyi git --versiongösterecek) git version 1.8.3.4 (Apple Git-47).


2
Bunu Mavericks'e yükselttikten sonra da görmeye başladım. Yani sanırım Git, ima ettiğiniz gibi Mavericks ile aynı zamanda yükseltildi.
Per Lundberg

8

Git'ten simpleyapılandırmadaki değer hakkında şikayetçi bir mesaj alırsanız , kontrol edin git version.

Yükseltme sonra XCode(bir üzerinde Macçalışan Mountain Lionda yükseltilmiş,) gitden 1.7.4.4 için 1.8.3.4 yükseltme hala budala yayınlanırken önce, kabukları başladı 1.7.4.4 ve değeri hakkında şikayet simpleküresel config push.default için.

Çözüm, eski sürümünü çalıştıran kabukları kapatmak gitve yeni sürümü kullanmaktı!


13
Yeni bir Xcode kurulumu kullanıyorum (git sürüm 1.8.5.2) ve koşana kadar hala bu hatayı alıyordum:git config --global push.default simple
Sam-Graham

2

Neden bu büyük uyarı mesajını Ubuntu 16.04'te (Git 2.7.4 ile birlikte geliyor) aldığımı merak ediyordum ama Arch Linux'ta değil. Bunun nedeni, uyarının Git 2.8'de (Mart 2016) kaldırılmış olmasıdır :

Git sürüm 2.0 çevresindeki geçiş boyunca, kullanıcı push.default yapılandırma değişkenini ayarlamadan "git push" komutunu çalıştırırken oldukça yüksek bir uyarı alırdı. Geçiş uzun zaman önce tamamlandığından artık uyarmıyoruz.

Bu nedenle Git 2.8 ve sonraki sürümleriniz varsa ve push.defaultvarsayılan 'simple'davranışı değiştirmek istemiyorsanız ayarlamanız gerekmiyorsa uyarıyı görmezsiniz .

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.