it-swarm.com.de

Entfernen Sie eine geänderte Datei aus der Pull-Anforderung

Ich habe im Moment 3 geänderte Dateien (keine neuen Dateien) in einer Pull-Anfrage.

Ich möchte eine dieser Dateien aus der Abrufanforderung entfernen, damit die Abrufanforderung nur Änderungen an zwei Dateien enthält und die dritte Datei in ihrem ursprünglichen, unberührten Zustand belässt.

Ich habe ein paar Dinge ausprobiert (Auschecken der Originalversion der Datei, etc ...), aber es wird immer noch als geänderte Datei in der PR angezeigt.

Gibt es eine Lösung dafür?

59
jlee

Wechseln Sie zu dem Zweig, aus dem Sie die Pull-Anforderung erstellt haben:

$ git checkout pull-request-branch

Überschreiben Sie die geänderte (n) Datei (en) mit der Datei in einem anderen Zweig. Nehmen wir an, es ist master:

git checkout Origin/master -- src/main/Java/HelloWorld.Java

Commit und Push an die Fernbedienung:

git commit -m "Removed a modified file from pull request"
git Push Origin pull-request-branch
142
Arpit

Sie möchten das Festschreiben ändern und dann einen Force-Push ausführen, der den Zweig mit dem PR aktualisiert.

Ich empfehle Ihnen Folgendes:

  1. Schließen Sie die PR, damit niemand, der sie überprüft, sie abruft, bis Sie Ihre Änderungen vorgenommen haben.
  2. Führen Sie einen Soft-Reset des Commits durch, bevor Sie eine unerwünschte Änderung vornehmen (wenn dies das letzte Commit ist, können Sie git reset --soft HEAD^ oder wenn es sich um ein anderes Commit handelt, möchten Sie 'HEAD ^' durch die Commit-ID ersetzen.)
  3. Verwerfen Sie alle Änderungen an der Datei, die Sie nicht aktualisieren wollten (oder machen Sie sie rückgängig)
  4. Machen Sie ein neues Commit git commit -a -c ORIG_HEAD
  5. Force Push zu Ihrer Niederlassung
  6. Pull-Anfrage erneut öffnen

Sobald Ihre Filiale aktualisiert wurde, enthält die Pull-Anforderung Ihre Änderungen.

Hier ist ein Link zu Gits Dokumentation, wo sie ein ziemlich gutes Beispiel unter Undo a commit and redo haben.

7
Keif Kraken

Eine Pull-Anforderung ist genau das: eine Anforderung zum Zusammenführen eines Zweigs in einen anderen.

Ihre Pull-Anfrage "enthält" nichts, sondern nur einen Marker mit der Aufschrift "Bitte füge diesen Zweig in diesen ein".

Die Änderungsmenge, die der PR in der Web-Benutzeroberfläche anzeigt, ist nur die Änderung zwischen dem Zielzweig und Ihrem Feature-Zweig. Um Ihre Pull-Anforderung zu ändern, müssen Sie Ihren Feature-Zweig ändern, möglicherweise mit der Kraft Push to the Feature Branch.

In Ihrem Fall möchten Sie wahrscheinlich Ihr Commit ändern. Nicht sicher über Ihre genaue Situation, aber eine Kombination aus interaktiver Rebase und add -p sollte dich aussortieren.

0
Chris Kitching