Bir şubenin Magit ile girişini değiştirin


47

Magit (ile P P) ile bir şubeye bastığınızda ve şubede yukarı akış olmadığında, Magit size zorlamak istediğiniz şubenin adını sorar. Bu harika.

Bir şubenin giriş yönünü ayarladığınızda, Magit artık nereye itmek istediğinizi sormaz. Bu genellikle kullanışlıdır (her zaman sorulmak istemezsiniz), ancak bir şubeyi farklı bir uzak şubeye itmeyi zorlaştırır.

Mevcut şubede halihazırda bir yukarı akış olsa bile, Magit'in bana hedef şubeyle ilgili tekrar soru sormasını sağlamanın bir yolu var mı?


Kullanımı-case

Bunun gibi bir dalım olması oldukça yaygın:

Local:    issue-30 ~/Git-Projects/repo/
Remote:   issue-30 @ origin (git@github.com:.../repo.git)
Head:     ebe4054 Some commit message

ve hem Yerel hem de Uzak dalları değiştirmek istiyorum issue-30-and-34. Yerel şubeyi yeniden adlandırırsam, bundan ayrılırım:

Local:    issue-30-and-34 ~/Git-Projects/repo/
Remote:   issue-30 @ origin (git@github.com:.../repo.git)
Head:     ebe4054 Some commit message

Ben silseniz bile origin/issue-30yapıyor P Püzerinde issue-30-and-34 sadece baştan yaratacak origin/issue-30.

Yapmayı bıraktığım şey şu, ancak tek bir gitkomutla yapılabilecek bir şey için dolambaçlı hissediyor :

  1. Adlı yeni bir şube oluşturun issue-30-and-34 (eskisini yeniden adlandırmak yerine),
  2. hem Yerel hem de Uzak sürümlerini silmek issue-30,
  3. itme issue-30-and-34(henüz yukarı akış olmadığından Magit, nereye itmem gerektiğini soracak).

Lütfen cevabı benim yerine @tarsius tarafından kabul etmeyi düşünün ( ilgili bilgileri bulmayı kolaylaştırmak için ).
Konstantin

@ Sabit yapıldı.
Malabarba

Yanıtlar:


60

v2.1Sizden başlayarak , geçerli şubenin akış yukarı yönünü kullanarak uzak veya yerel bir şube olarak değiştirebilirsiniz bu[REMOTE/]BRANCHRET. İle başlayarak v2.4, bir yukarı akış zaten ayarlanmışsa, o zaman busadece Ayarını iptal edecektir. uYeni bir değer ayarlamak için tekrar basın .

Başlangıç v2.4ve giriş yukarı ayarlanmamışsa, düğmelerini kullanarak bastırarak yukarı doğru da ayarlayabilirsiniz pu[REMOTE/]BRANCHRET. Otomatik olarak hangi şubenin kullanılacağı otomatik olarak sorulur. Bir yukarı akış ayarlandıktan pusonra yukarı akış değiştirmenize izin vermeden buna itilir. Bu nedenle yukarı havayı değiştirmek için önceki paragrafta açıklanan yaklaşımı kullanmanız gerekir.

Önceden kullanmakta v2.4olduğunuz uzak dalı ayarlamak için daha önce mümkün oldu p-ueREMOTE/BRANCHRET. Ancak şimdi --set-upstreamanahtar, varsayılan olarak itme açılır penceresinde artık mevcut değil . magit-push-current-set-remote-if-missingNil olarak ayarlayarak geri alabilirsiniz . Bunun iki etkisi var: --set-upstreamanahtar bir sonraki yeniden başlatmanın ardından tekrar kullanılabilir olacak ve önceki paragrafta açıklanan yaklaşım artık çalışmayacak.


İkinci ve üçüncü paragrafta açıklanan her iki özelliğin aynı anda kullanılabilir magit-push-current-set-remote-if-missingolmasını istiyorsanız , dokunulmadan bırakın ve bunu init dosyasına ekleyin:

(magit-define-popup-switch 'magit-push-popup
  ?u "Set upstream" "--set-upstream")

11

P C-u C-u PMagit'in, ittirmeden önce hangi uzak ve uzak dalı kullanacağını sormasını sağlamak için " " düğmesine basın .

(Tek bir önek argümanıyla (" P C-u P") Magit hangi uzaktan kumandanın kullanılacağını sorar.)

Bunu P C-h k Pbir Magit durum tamponuna basarak , magit-pushve magit-push-dwim(bu dokümanlar eski, BTW gibi) belgelerini okuyarak ve deney yaparak buldum .

Not: Ben Magit kullanıyorum magit-1.2.0-2049-ge6839e8.


5
Bu cevap biraz modası geçmiş.
Szymon Wygnański 15:15

1

Şube / configure bölümünün altındaymış gibi görünüyor:

b C p pushRemote’u ayarlamak için


Varsayılanın dışında bir kumandayı nasıl belirleyeceğiniz hakkında bir fikriniz var mı?
scry

0

Kasım 2016 ve son olarak magit, işte kısmi bir çözüm:

P e- itmene izin veriyor elsewhere, ama hatırlanmadı

Magit için bir yol bulamadım --set-upstream, bu yüzden bunu terminalden yaptım, biraz hile yaptım ama beni bu problemi çözdü:

git push --set-upstream origin <branch-name>

Ve şimdi yeni yukarı akış kurtarıldı ve bir sonraki şeyimi oluşturabilirim :)


1
"[...] 'a kadar bir yol bulamıyorum --set-upstream" - Belki de
tarsius'un

Elbette, bunu çözmeme yardım eden de buydu. Sadece, magito zamandan beri biraz değişti ve umudum ki benim çözümüm birisini fazladan birkaç dakika kazandırmaktır
Josh.F

1
Bu cevabın ilk paragrafı yukarı havayı nasıl değiştireceğinizi açıklar ve en son afette çalışır.
npostavs,
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.