Çağrılırken magit-push-current
ile P P
durum tamponundan, Magit 2.1.0
memba 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-current
ile P P
durum tamponundan, Magit 2.1.0
memba 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-upstream
itme 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 push
herhangi 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.
master
ve akış origin/master
yukarı ayarlamadı, yukarı akış otomatik olarak ayarlanacak şekilde dallanmalı mıyım?
origin/master
Set origin/master
upstream olarak dallanma , ama ben upstream olması beklenirdi origin/branch-name
.
P -p P <... completion ...> RET
Bunun origin/branch-name
bir tamamlama adayı olarak sunulduğunu unutmayın , bu yüzden yazmanız gerekmez.
--set-upstream
Mevcut ş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 c
ve daha sonra yine de işe yaramaz gibi görünüyor tüm magit 2 şeyler ile etrafında maymun .git/config
işaret origin/branch
yerine 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-to
ve bildiğiniz gibi Git varolmayan bir dalı yukarı akış olarak ayarlayamaz ve Magit de ikisini birden yapamaz.
some-branch-name
karşıorigin
uzak, muhtemelen sadece yazabilirsinizo TAB s TAB
ve istediğiniz adının verilmesidir.