Çekme isteği üzerindeyken bir dalı yeniden adlandırma


106

Github'da, bir projeye işlevsellik eklemek için çekme talepleri yapabilirsiniz. Birinin katkıları, talep kabul edilirse, projenin ana şubesine (veya benzer bir şubesine) birleştirilecek bir dalda olmalıdır.

Şimdi, Github'da bir çekme isteği gönderdim ve katkılarım, çağrılan bir şubede patch-1. Şubenin adını yerel olarak değiştirebilirim.

git branch -m patch-1 newname

ve prensip olarak, bu cevapta bulunan talimatı izleyerek onu Github'daki çatallı repomda yeniden adlandırabilirim . Bu, patch-1benim durumumda eski dalı kaldırarak ve farklı bir adla yeniden göndererek pratikte yapılır newname.

patch-1Bir çekme talebi oluşturduğunda, Github'daki çatallı depomdaki şubeyi yeniden adlandırabilir miyim? Veya çekme talebi yönetiminde sorunlara neden oluyor mu?

Github üzerindeki çatallı bir depodaki bir dalı, bu dal bir çekme isteği olduğunda yeniden adlandırmanın bir yolu var mı?


Evet, bunu GitHub işlevselliği "Temel dalı değiştir" ile yapabilirsiniz. Güncellenen cevabıma göz atın 👇
Slobodan Ilic

Yanıtlar:


121

Git'te bir uzak dalı "yeniden adlandırmak", sağladığınız bağlantıyla belirtildiği gibi, gerçekte yalnızca bir dalı silmektir, ardından aynı commit karmasına ancak yeni bir ada sahip yeni bir dalı iletmektir. Dal yaması-1 için açık bir çekme talebiniz varsa, o dalı sildiğinizde çekme isteği kapatılacaktır.

Bu nedenle, dalı silmeden ve çekme isteğini kaldırmadan bir çekme isteği açıkken dalı yeniden adlandıramazsınız. Ancak, sizi bunu yapmaktan, yeni bir adla yeni bir şubeyi itmekten ve yeni bir çekme isteği oluşturmaktan alıkoyan hiçbir şey yoktur.


195
bunu yapmamanın bir nedeni mevcut PR konusundaki tartışmayı kaybetmektir.
Johnny Everson

10
PR'da kaynak şubeyi yeniden adlandırmada neden bu kadar sıkı bir kısıtlama olduğunu anlamıyorum. Bitbucket'ta da aynı can sıkıcı bahaviour var. Başka bir yaklaşım, PR'yi düzenlemek ve kaynak dalı başka bir dala değiştirmek olabilir. "Kaynak şubeyi değiştirirseniz, o zaman bu yeni bir PR olur" diyebiliriz. Teknik olarak evet, ancak hiçbir şey geliştiricinin tamamen farklı bir daldan yukarı akış ayarlamasını ve ardından bir git push -f. PR tamamen yeni bir kodla güncellenir ve hala "aynı" PR'dir.
L. Holanda

32

Kısa cevap:

Hayır

Alternatif yaklaşım:

  1. Yeni (yeniden adlandırılmış) bir şubeyle yeni bir PR açın
  2. Yenisini referans alan eski PR'yi kapatın (örn. #New_pr_id lehine kapatıldı)
  3. Yeni PR'nin açıklamasını değiştirin (ör. # Eski_pr_id'nin yerini alır)
  4. (isteğe bağlı) Eski PR ile ilgili tartışma hakkında bir yorum yapın

Not:

Bir uzak dalın adının (bir PR oluşturan) değiştirilmesi gerekiyordu çünkü derleme sistemi, bilet kimliğiyle biten şubenin adına ihtiyaç duyuyordu. Bununla birlikte, PR, resmi bilet oluşturmadan önce (spesifikasyonlardan) açıldı ve değerli tartışmalar içeriyordu. Açıklanan yaklaşım, derleme sisteminin çalışmasını sağlamanın ve ayrıca herhangi bir bilgi kaybetmemenin tek yoluydu (bunun izlenmesinde fazladan bir adım olmasına rağmen).


9
Verilen dallar tipik olarak birleştirildikten sonra silinir, sanırım geçmiş tartışmayı izlemek amacıyla eski PR'ye atıfta bulunan yeni bir PR'nin ek yükünü eklemektense, ismin yanlış olmasına "tahammül etmek" daha iyidir.
Neo

2
"Güncelleme" yanıtıyla ilgili olarak: Bence OP'nin amacı temel şubeyi değil "gelen" şubeyi değiştirmek. Bunun nasıl yardımcı olacağını anlamıyorum.
David Cook

@DavidCook Tamamen haklısınız. Batırdım. Cevap düzeltildi. Teşekkür ederim.
Slobodan İliç

1
@SlobodanIlic Aşağıdaki eski yorumu kaldırabilir misiniz ?, stackoverflow.com/questions/20007578/…
Jaime Hablutzel
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.