Çağrılırken magit-push-currentile P Pdurum tamponundan, Magit 2.1.0memba ayarlı değil ne zaman, nerede ilk kez şube zorlamaya soruyor.
Adı daha önce olduğu gibi otomatik olarak oluşturmasına nasıl izin verebilir?
Çağrılırken magit-push-currentile P Pdurum tamponundan, Magit 2.1.0memba ayarlı değil ne zaman, nerede ilk kez şube zorlamaya soruyor.
Adı daha önce olduğu gibi otomatik olarak oluşturmasına nasıl izin verebilir?
Yanıtlar:
Güncelleme: Aşağıda belirtilen "itme şubesi" şu ana kadar uygulanmıştır.Daha fazla bilgi için dallanma ile ilgili belgelere bakın .
Akış yukarı dalı bir kez ayarlamanız gerekir. Bunu yaptıktan sonra P Pbuna iter ve durum tamponu içinde unpulled ve unpushed Değişiklikler listesini alacak (herhangi bir durumu olmaması kaydıyla).
Memba şubesini ayarlamanın çeşitli yolları vardır. Sen kullanabilirsiniz --set-upstreamitme açılır pencereden anahtarı: P -u P. Ya kaynak tarafı ayarlar ve başka hiçbir şey yapmaz komutu kullanın: b u.
Ayrıca Magit, yeni bir dal oluştururken "başlangıç noktası" bir dal adı olması koşuluyla otomatik olarak yukarı akış dalını ayarlar. Bu, yerel ve uzak "yukarı akışlar" için çalışır. Ancak, başlangıç noktası olarak yerel bir şube seçerseniz, itmenin size yardımcı olmayacağını unutmayın. Mevcut veri havuzundan mevcut veri havuzuna geçmek açıkçası mantıklı değildir ve izin verilmez.
Dolayısıyla, "yukarı akış" dalı aslında başka bir yerel dal olduğunda, P Pyukarı akış dalı yapılandırılmamış gibi davranır ve aynı şekilde davranır P e. Hiçbir akış yukarı yapılandırılmamışsa da durum aynıdır.
Bunun nedeni Git'teki bir sınırlamadır: biri sadece bir dalı başka bir dalla ilişkilendirebilir ve sonra da bu dal “yukarı akım dalı” olarak adlandırılır. En azından bir "yukarı akış" ve bir "yayın" dalı olsaydı daha iyi olurdu. Bunu sonunda Magit'te uygulamaya niyetliyim. Bkz. Sayı 1485 .
Dolayısıyla, sadece P Pyukarı akışlı dalın "ana" değil, "başlangıç / ana" olması gerekir.
Ben her zaman sadece git pushherhangi bir argüman olmadan çalışan bir push varyantı eklemeyi düşünüyorum . Bunun ardından yalnızca Git yapılandırmasına bağlı olacaktır.
masterve akış origin/masteryukarı ayarlamadı, yukarı akış otomatik olarak ayarlanacak şekilde dallanmalı mıyım?
origin/masterSet origin/masterupstream olarak dallanma , ama ben upstream olması beklenirdi origin/branch-name.
P -p P <... completion ...> RETBunun origin/branch-namebir tamamlama adayı olarak sunulduğunu unutmayın , bu yüzden yazmanız gerekmez.
--set-upstreamMevcut şubenin henüz yukarı doğru akışı olmadığında otomatik olarak etkinleştirilen aşağıdaki önerileri kullanıyorum :
(defun magit-push-arguments-maybe-upstream (magit-push-popup-fun &rest args)
"Enable --set-upstream switch if there isn't a current upstream."
(let ((magit-push-arguments
(if (magit-get-remote) magit-push-arguments
(cons "--set-upstream" magit-push-arguments))))
(apply magit-push-popup-fun args)))
(advice-add 'magit-push-popup :around #'magit-push-arguments-maybe-upstream)
Ido tamamlama ile birleştiğinde, aşağıdakilerle yeni bir şube itmeye izin verir P P RET:
;; NOTE: requires ido-completing-read+
(setq magit-completing-read-function #'magit-ido-completing-read)
Ben sadece yeni şube oluşturmak b cve daha sonra yine de işe yaramaz gibi görünüyor tüm magit 2 şeyler ile etrafında maymun .git/configişaret origin/branchyerine dosyayı düzenlemek .
Değişiklik:
[branch "fix_something"]
remote = .
merge = refs/heads/master
için
[branch "fix_something"]
remote = origin
merge = refs/heads/fix_something
Bu işe yarıyor, oysa magit2'de hala aynı şeyi yapan bir tuş kombinasyonu bulamadım. Uzaktan kumandayı ayarlamaya çalışmak işe yaramıyor çünkü henüz başlangıçta mevcut değil.
bu. Ancak bu kullanır git branch --set-upstream-tove bildiğiniz gibi Git varolmayan bir dalı yukarı akış olarak ayarlayamaz ve Magit de ikisini birden yapamaz.
some-branch-namekarşıoriginuzak, muhtemelen sadece yazabilirsinizo TAB s TABve istediğiniz adının verilmesidir.