Değiştirilmiş bir dosyayı çekme isteğinden kaldırın


120

Şu anda bir çekme talebinde değiştirilmiş 3 dosyam var (yeni dosya yok).

Çekme isteğinin yalnızca iki dosyadaki değişiklikleri içermesi ve üçüncüyü orijinal, dokunulmamış durumunda bırakması için bu dosyalardan birini çekme isteğinden kaldırmak istiyorum.

Birkaç şey denedim (dosyanın orijinal versiyonunu kontrol ettim, vs ...) ama yine de PR'de değiştirilmiş bir dosya olarak görünüyor.

Bunun bir çözümü var mı?


Dosyadaki değişiklikler kendi taahhütlerindeyse, etkileşimli bir yeniden temel oluşturabilir ve değiştirilmesini istediğiniz dosyayı etkileyen taahhütleri kaldırabilir ve ardından şubenize zorla itme yapabilirsiniz. Github bunu otomatik olarak algılamalıdır.
Dentych

Yanıtlar:


272

Çekme isteğini oluşturduğunuz şubeye geçin:

$ git checkout pull-request-branch

Değiştirilen dosyanın / dosyaların üzerine başka bir daldaki dosyanın üzerine yazın, hadi bunun ana olduğunu düşünelim :

git checkout origin/master -- src/main/java/HelloWorld.java

Teslim edin ve uzaktan kumandaya itin:

git commit -m "Removed a modified file from pull request"
git push origin pull-request-branch

4
Çalışmıyor bana şu hatayı gösteriyor: pathspec '{file / path.js}' git tarafından bilinen hiçbir dosya (lar) ile eşleşmedi.
raftaar1191

9
Çalışıyor ve kanıtlanmış bir çözüm yolunuzu doğru bir şekilde kontrol edin
Pavan T

2
Bu, aslında eylemi gerçekleştirmek istediğim dosyanın etrafındaki dosyalar için çalışıyor ... bu yüzden yolla ilgili bir sorun olduğunu düşünmüyorum
Tim Boland

1
Şu hatayla sorun yaşayanlar için: pathspec '{file / path.js}' git tarafından bilinen hiçbir dosya (lar) ile eşleşmedi.
Kaynak

1
@ArpitAggarwal bu iyi çalışıyor. Çok teşekkür ederim.
CA Arefe

11

İşlemi değiştirmek ve ardından şubeyi PR ile güncelleyecek bir zorlama yapmak istersiniz.

İşte bunu yapmanızı tavsiye ederim:

  1. PR'yi kapatın, böylece gözden geçiren kişi siz değişikliklerinizi yapana kadar onu içeri almaz.
  2. İstenmeyen değişikliğinizden önce yürütmeye Yumuşak sıfırlama yapın (bu, kullanabileceğiniz son kaydetmeyse git reset --soft HEAD^veya farklı bir kaydetmeyse, 'HEAD ^' yerine kaydetme kimliğini kullanmak istersiniz)
  3. Dosyada güncellemeyi düşünmediğiniz değişiklikleri atın (veya geri alın)
  4. Yeni bir taahhüt yap git commit -a -c ORIG_HEAD
  5. Şubenize Zorla Gönderin
  6. Çekme İsteğini Yeniden Aç

Artık şubeniz güncellendiğine göre, Çekme İsteği değişikliklerinizi içerecektir.

İşte onlar oldukça iyi altında örnek var Gits dokümanlara link bir taahhüt geri alma ve yineleme .


0

Yerel deponuzdan değil, çekme talebinden bir dosyayı kaldırma.

  1. İsteği oluşturduğunuz şubenize gidin ve aşağıdaki komutları kullanın

git checkout - c: \ temp ..... sonraki git çıkış kaynağı / ana - c: \ temp ... u kökeni / ana birimi başka bir dal ile değiştirin. Sonraki git commit -mc: \ temp ..... Sonraki git itme kaynağı

Not: dosya yolu için tek tırnak veya çift tırnak yok


-5

Bir çekme isteği tam olarak şudur: bir dalı diğeriyle birleştirme isteği.

Çekme isteğiniz hiçbir şey "içermiyor", yalnızca "lütfen bu dalı bu şubeyle birleştirin" yazan bir işarettir.

PR'nin web kullanıcı arayüzünde gösterdiği değişiklikler kümesi, yalnızca hedef dal ile özellik dalınız arasındaki değişikliklerdir. Çekme isteğinizi değiştirmek için, muhtemelen özellik dalını zorlayarak özellik dalınızı değiştirmeniz gerekir.

Sizin durumunuzda, muhtemelen taahhüdünüzü değiştirmek isteyeceksiniz. Tam durumunuzdan emin değilim, ancak bazı etkileşimli geri ödeme kombinasyonu ve add -psizi çözmeli .

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.