Bunu alicedeponuzda (itmeden önce) deneyin :
git config push.default tracking
Veya, kullanıcılarınız için varsayılan olarak yapılandırın git config --global ….
git pushvarsayılan olarak origindepoya (normalde geçerli havuzu klonladığınız havuzdur), ancak geçerli dalı itmek için varsayılan olarak kullanılmaz; yalnızca hem kaynak havuzunda hem de hedef depoda bulunan dalları itmek için varsayılan olarak kullanılır.
push.defaultYapılandırma değişkeni (bkz git-config (1) ) Ne kontrolleri git push(bir depo adından sonra yani şey) herhangi bir “refspec” argümanları verilen değilken itecektir. Varsayılan değer, yukarıda açıklanan davranışı verir.
İşte olası değerler push.default:
nothing
Bu sizi bir “refspec” sağlamaya zorlar.
matching(varsayılan)
Bu , hem kaynak havuzda hem de hedef depoda bulunan tüm dalları iter .
Bu, şu anda kullanıma alınmış olan şubeden tamamen bağımsızdır.
upstreamveya tracking
(Her iki değer de aynı anlama gelir. Daha sonra “uzaktan izleme” dalları ile karışıklığı önlemek için kullanımdan kaldırılmıştır. Birincisi 1.7.4.2'de tanıtılmıştır, bu nedenle Git 1.7.3.1 kullanıyorsanız ikincisini kullanmanız gerekecektir. )
Bunlar, geçerli dalı "yukarı akış" yapılandırmasıyla belirtilen dalı yönlendirir.
current
Bu, geçerli dalı hedef depodaki aynı addaki şubeye doğru iter.
Bu son ikisi yaygın durumlar için aynıdır (örneğin , yukarı akış olarak orijin / master kullanan yerel master üzerinde çalışmak ), ancak yerel şubenin "upstream" şubesinden farklı bir adı olduğunda farklıdırlar:
git checkout master
# hack, commit, hack, commit
# bug report comes in, we want a fix on master without the above commits
git checkout -b quickfix origin/master # "upstream" is master on origin
# fix, commit
git push
İle push.defaulteşit upstream(veya tracking), itme gideceğini origin'nin ana dal. O eşit olduğunda current, itme gideceğini origin'ın QuickFix dalı.
matchingAyar güncelleyecektir bare'ın usta o kurulduktan kez senaryoda. Bunu kurmak için bir git push origin masterkez kullanabilirsiniz .
Ancak, upstreamayar (veya belki current) gerçekleşmesini beklediğiniz şey için daha iyi bir eşleşme olabilir, bu yüzden denemek isteyebilirsiniz:
# try it once (in Git 1.7.2 and later)
git -c push.default=upstream push
# configure it for only this repository
git config push.default upstream
# configure it for all repositories that do not override it themselves
git config --global push.default upstream
(Yine, 1.7.4.2'den önce bir Git kullanıyorsanız, trackingbunun yerine kullanmanız gerekecektir upstream).