Teilweise Git gelten

Lesezeit: 2 Minuten

Benutzer-Avatar
chx

Wie bekomme ich git apply --index nicht komplett abzubrechen, nur weil ein einzelner Brocken ausfällt? Ich habe einen 100K+ Patch mit Dutzenden von gelöschten und hinzugefügten Dateien, es wäre mühsam, das zu tun patch -p1, git add, git rm manuell tanzen.

Bearbeiten: git apply --reject --index scheint zwei Drittel der Arbeit zu erledigen: Der Patch wird angewendet und entfernte Dateien werden zum Löschen bereitgestellt, aber neue Dateien werden nicht hinzugefügt.

  • tut das --apply Flagge in Kombination mit --reject überhaupt helfen?

    – Steve Buzonas

    3. April 2013 um 20:04 Uhr

  • Ich frage mich nur, ob es möglich ist, es zu verwenden git am --interactive mit diesem Patch?

    – Standardruf

    24. Januar 2014 um 19:54 Uhr

Seit Git-Version 1.7.12, git apply hat ein --3way (oder -3) Möglichkeit welches wird:

  1. Wenden Sie alle Änderungen an, die es herausfinden kann, und stellen Sie sie bereit (dh: fügen Sie sie dem Arbeitsbaum und dem Index hinzu).
  2. Fügen Sie alle neuen Dateien hinzu und stellen Sie sie bereit (dh: fügen Sie sie der Arbeitsstruktur und dem Index hinzu) und,
  3. Wenn es auf einen Zusammenführungskonflikt stößt, wird es für jeden widersprüchlichen Hunk:

    1. Fügen Sie den Code aus dem Zweig ein, zwischen dem Sie patchen <<<<<<< ours und ======= Markierungen und
    2. Fügen Sie den Code aus der Patch-Datei dazwischen ======= und >>>>>>> theirs Markierungen.

    … Dateien mit Konflikten werden nicht bereitgestellt: Sie müssen sie manuell beheben und git add sie danach.

Versuchen git apply --reject <patchfile>

Das ist was ich mache,

Zuerst durchführen git apply --reject. Dann renne git add -p und interaktiv Hunks auswählen. Anstatt von add -p Sie können auch andere Git-GUIs verwenden. Um neue Dateien hinzuzufügen, fügen Sie sie manuell hinzu, wenn sie nicht hinzugefügt wurden.

1179720cookie-checkTeilweise Git gelten

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy