GitHub: Birleştirilmiş bir çekme isteğini yeniden açma


101
  • Bazı değişiklikler yaptım
  • Bir çekme isteği gönderdim
  • Çekme talebi kabul edildi ve birleştirildi.
  • Bir hata bulduk
  • Hatayı düzeltirken değişiklikler tekrar kaldırıldı.

Şimdi hatayı düzelttim ve çekme isteğini fazladan 1 işlemle yeniden göndermek istiyorum. Çekme talebini yeniden açmanın veya güncellemenin bir yolu var mı, yoksa yeni bir çekme isteği oluşturmam, açıklamayı tekrar yazmam vb. Gitorious bu özelliğe sahiptir ve yakın zamanda GitHub'a taşındık.


Bugün benzer bir durumdaydım, yani varsayılan olarak değişiklikleri hedef dalda birleştiren ve PR'yi kapatan "Çekme İsteğini Birleştir" düğmesini kullandım. Daha sonra test sırasında orijinal geliştiricinin düzeltmesini istediğim bir hata keşfettim. Bu PR'yi yeniden açmanın bir yolunu istedim, böylece aynı PR'ye daha fazla işlem eklenebilir, ancak PR'yi yeniden açmak için bir düğme olmadığından olamazdı.
SBirthare

Yanıtlar:


114

Cevap şöyle görünüyor: Yapamazsınız.

Bir çekme isteği birleştirilip kapatıldığında, sonsuza kadar kilitlenir ve yeniden açılamaz. Çekme talebiniz birleştirilirse, kapatılırsa, değişiklikleriniz çekilir (birleştirmeden önce geriye doğru itme kuvveti yoluyla), şubeye taahhütler eklemeniz ve yeni bir çekme isteği oluşturmanız, tüm ayrıntıları kopyalamanız ve muhtemelen geçmişi manuel olarak kaydetmek için orijinal çekme isteğine bir bağlantı.

Gelecekteki GitHub için güzel bir özellik isteği olabilir.


8
Ne zaman değiştirildiğini bilmiyorum, ancak şimdi kapatılan PR'lara yorum yapabilir ve yeniden açabilirsiniz.
LB

16
@LB, kapatılan ve birleştirilen PR'leri yeniden açamayacaksın .
A Kaptur

1
Aslında yapabilirsiniz. İlk birleştirmeyi geri aldığınızı varsayarsak, ana deponun bir dalını yapabilirsiniz ve bu yeni dalda birleştirmeyi geri döndüren taahhüdü geri alabilirsiniz.
SsjCosty

7
@SsjCosty Ancak bu kapalı ve birleşik bir PR yeniden açılmıyor. Her zaman yeni çekme istekleri açabilirsiniz, bu da çözümünüzün gerektirdiği şeydir.
Adam Grant

1
"Gelecekteki GitHub için güzel bir özellik isteği olabilir." Aslında hayır, olmaz. PR'ler yaratıldıktan sonra yeniden tanımlanabilseydi, PR'yi farklı zamanlarda kontrol eden insanlar potansiyel olarak sürüklenirdi. Sadece başka bir PR oluşturun ve metinde öncekinden "bahsedin". Bir çeşit kilometre taşına atıfta bulunmak istiyorsanız, bakılacak PR'ler değil, bu etiketler olacaktır.
Scott Prive

12

Kısa süre önce bir çekme talebini başarıyla yeniden açtım.

  1. Çekme talebine yorum yapma
  2. Yorum formunda görünen 'Gönder ve yeniden aç' düğmesine tıklamak.

1
Bunu tekrarlamayı başaramadım - bu davranışı görmek için gerekli adımları açıklayabilir misiniz? Kapalı bir çekme isteği hakkında yorum yapmayı (işe yaramadı), kapalı bir çekme isteği hakkında yorum yapmayı ve çekmekte olduğu şubeyi itmeyi denedim (işe yaramadı). Deneyecek başka bir şey var mı? Çekme isteğinin birleştirilmesi ve daha sonra bir şekilde birleştirilmesi gerekiyor mu?
Michael Parker

Fark yaratan gizli gereksinimin ne olduğunu bilmiyorum. Şunlardan herhangi biri olabilir (çekme isteği için yeni değişiklik gönderdim, proje sahiplerinin üyesiyim, diğer ...)
Tim Lovell-Smith

1
Şimdi bahsettiğiniz her şeyi denedim, hala göremiyorum. Depo sahibiyim. Google'da "GitHub'ı gönder ve yeniden aç" araması tek bir isabet sağlar - bu sayfa. Daha fazla bilgi son derece yardımcı olacaktır. Çekme talebiniz başlangıçta reddedildi mi?
Michael Parker

53
Bunu birleştirilmemiş çekme istekleriyle çoğaltabilirim - ancak bu iş parçacığı bununla ilgili değil.
Dan Tello

2
Evet, kapalı çekmelerden bahsediyor, birleşik çekmelerden değil.
loujaybee

4

Sadece fazladan 1 commit yaptığınız mevcut şubeden yeni bir şube türetin. Oradan çekme talebini gönderin.


3
Bu, orijinal için hiçbir geçmişe sahip olmayan yeni bir çekme talebiyle sonuçlanır.
Dave

1
Sonunda yaptığım şey bu. Evet tarih daha az doğrusal ama benim için sorun değil.
possen

4

Geri alma eylemini kullanabilirsiniz:

görüntü açıklamasını buraya girin

Birleştirilmiş PR'de yapılan tüm değişiklikleri geri alan başka bir çekme isteği oluşturacaktır.


Bu en iyi uygulama değil :)
antonbormotov

3
@antonbormotov daha iyi bir yaklaşım önerebilir misiniz?
William Weckl

Farz edelim, geri döndürmek istediğimiz kararlı dal için pr ile taahhütleri (mA ve mB) birleştirdik. "Revert" pr birleştirildikten sonra, geçmiş kaydetme ağacı gibi görünecektir: XY-mA-mB-CD-rA-rB-EF. Neden değişiklikleri (mA, mB) uygulayan ve sonra onları iptal eden (rA, rB) tüm bu taahhütleri geçmişte görmek istiyorsunuz? Bu "kötü" taahhütleri mA ve mB'yi kararlı daldan kaldırmak ve geçmişi temiz tutmak daha iyi olacaktır. Elbette, birleştirmenin nispeten yeni olup olmadığı mantıklı.
antonbormotov

1
Sadece geçmiş çirkin görünmekle kalmayacak, aynı zamanda hazır olduğunuzda artık geri alınan taahhütleri yeniden birleştiremezsiniz.
Michael

Küçük farklarla biraz benzer bir senaryom vardı. İncelemem gereken ve başka bir PR'ın birleştirilmesini beklemem gereken bir PR'ım vardı. Ama bunu görmedim ve bu PR'yi erken birleştirdim. Aslında @WilliamWeckl'in önerdiği şeyi yaptım. Ama şimdi, orijinal olarak yaratılan aynı değişikliklerle aynı PR'yi oluşturmak istiyorum. Ancak PR'yi oluştururken ana dal hiçbir fark göstermiyor, ancak tek tek dosyaları gördüğümde farklılar. Düşüncesi olan var mı?
Vikas
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.