İtme sırasında veya aynı anda itmeden yukarı akış ayarlamanın birkaç yolu vardır.
magit-push-current-set-remote-if-missing
Değeri nil
(varsayılan) değilse , şöyle bir şey görürsünüz:
Push feature to
p pushRemote, after setting that
u @{upstream}, after setting that
e elsewhere
Bunu origin/feature
yukarı akışa itmek ve ayarlamak için tuşuna basın uve ardından RETvarsayılan tamamlama adayını kabul etmek için düğmesine basın .
Öyleyse magit-push-current-set-remote-if-missing
, nil
bunun yerine şunu görürsünüz:
Push feature to
e elsewhere
pŞimdi tuşuna bastıysanız, yukarı akışın yapılandırılmadığı söylenir (yukarı akış yoksa yukarı akışa itemeyeceğiniz anlamına gelir).
Ancak öyleyse magit-push-current-set-remote-if-missing
, nil
anahtarların listesi özellikli olacaktır --set-upstream
, böylece P - u palıştığınız gibi kullanabilirsiniz (ikinci p küçük harf hariç). Yine de bir sorun var: Değerini değiştirdikten sonra magit-push-current-set-remote-if-missing
Emacs'ı yeniden başlatmak --set-upstream
veya kaybolmak için yeniden başlatmanız gerekiyor.
Son olarak kullanarak ust baş set "kümesi kaynak tarafı (ve başka bir şey yapmak)" komutunu edebilirsiniz: b uorigin/master
RET. Bu yaklaşımı kullandığınızda, yalnızca zaten var olan bir dalı seçebileceğinizi unutmayın.
Ancak uzaktan kumandayı yapılandırmak ve buna itmek daha iyi olur. Push-remote ve yukarı akıştan nasıl farklı olduğu hakkında daha fazla bilgi için bilgi kılavuzundaki Dallanma düğümüne bakın (web sürümü henüz güncellenmemiştir).
Temel olarak yukarı akış dalı, büyük olasılıkla özellik dalınızın sonunda birleştirileceği daldır (iterek değil birleştirerek veya yeniden temel alarak) origin/master
. Ve uzaktan kumanda, özellik dallarınızı üzerinde çalışırken başkalarının da birleştirebileceği yerdedir. Yerel dal adlandırılmışsa feature
ve uzaktan kumanda kullanılıyorsa my-fork
, o dalı kullanarak P pbastırmak için öğesine itilir my-fork/feature
. ("Push-to-branch" yapılandırılamaz, push-remote üzerindeki dalın adı her zaman yerel adla aynıdır.)
Dolayısıyla, sorunuz "yukarı doğru aynı anda yapılandırırken yukarı doğru nasıl itebilirim" gibi bir şey olsa da, benim tavsiyem yukarı doğru doğru itmemek, bunun yerine basmalı uzaktan kumandayı zorlamaktır.
Değeri değiştirmediyseniz, magit-push-current-set-remote-if-missing
uzaktan kumandayı kullanarak yapılandırabilirsiniz P psome-remote
RET. Ancak, muhtemelen tüm özellik dallarını aynı uzaktan kumandaya ittiğiniz için, uzaktan kumandayı tüm dallar için bir kez ayarlamak ve onunla yapılması daha iyidir: bve sonra M-psağ uzaktan kumanda seçilene kadar.
Ayrıca, yukarı akış kolunu açıkça ayarlamak gerekmediğini de unutmayın. Yeni bir dal oluşturduğunuzda ve başlangıç noktası olarak bir uzak dal seçtiğinizde, bu yukarı akış olarak kullanılır.
Maalesef başlangıç noktası genellikle yerel bir daldır ve bu durumda Git varsayılan olarak yukarı akış olarak kullanmaz. Ancak bu bir kez çalıştırılarak kolayca düzeltilebilir:
git config --global branch.autoSetupMerge always
Varsayılan değer, true
" uzak bir dal olması koşuluyla başlangıç noktasını yukarı akış olarak ayarla" anlamına gelir .
Bu arada, aynı şey uzaktan kumanda için de geçerlidir. Bu da genellikle "yeni" depolarda yarı otomatik olarak ayarlanmalıdır. Bir havuzu klonlarsanız, origin
push-remote olarak kullanmak isteyip istemediğiniz sorulacaktır . Başka bir uzaktan kumanda ekleyeceğiniz sürece, " my-fork
push" olarak kullanılacaksa "evet" yanıtı vermelisiniz . Kullanarak yeni bir uzaktan kumanda eklediğinizde M ave remote.pushDefault
henüz ayarlanmadıysa, yeni eklenen uzaktan kumandayı push-remote olarak kullanmak isteyip istemediğiniz sorulacaktır.
Bu, magit-clone-set-remote.pushDefault
ve kullanılarak yapılandırılabilir magit-remote-add-set-remote.pushDefault
.
Başka bir gelişmiş seçenek, magit-branch-prefer-remote-upstream
varsayılan değerdir nil
. Eğer bunu ayarlarsanız t
, ve sonra yeni bir şube için başlangıç noktası olarak, bir yerel şube seçip başlangıç noktası upstream kudretini memba olarak kullanılabilir (bazı kurallara göre, doktor-string bakınız) yerine başlangıç noktasının kendisi.
<remote>/<branch>
Bölüm yanlışlıkla istem dışı bırakıldı düşünüyorum ( bu yoruma bakın ). Bu arada,magit-push-current-set-remote-if-missing
nil olarak ayarlayabilirsiniz .