Entfernen Sie bestimmte Commits

Ich arbeitete mit einem Freund an einem Projekt, und er bearbeitete eine Reihe von Dateien, die nicht bearbeitet wurden. Irgendwie habe ich zusammengeführt, die seine arbeiten in mir, wenn ich zog es auf, oder wenn ich versuchte, wählen Sie einfach die Dateien aus, die ich wollte. Ich habe auf der Suche und spielen für eine lange Zeit, um herauszufinden, wie Sie entfernen die commits enthalten, die änderungen an diesen Dateien, es scheint ein toss up zwischen revert und Stellungswechsel, und es gibt keine einfache Beispiele, und die docs nehme an, ich weiß mehr als ich.

So, hier ist eine vereinfachte version der Frage:

Gegeben Sie das folgende Szenario, wie Entferne ich den commit-2?

$ mkdir git_revert_test && cd git_revert_test

$ git init
Initialized empty Git repository in /Users/josh/deleteme/git_revert_test/.git/

$ echo "line 1" > myfile

$ git add -A

$ git commit -m "commit 1"
[master (root-commit) 8230fa3] commit 1
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 myfile

$ echo "line 2" >> myfile

$ git commit -am "commit 2"
[master 342f9bb] commit 2
 1 files changed, 1 insertions(+), 0 deletions(-)

$ echo "line 3" >> myfile

$ git commit -am "commit 3"
[master 1bcb872] commit 3
 1 files changed, 1 insertions(+), 0 deletions(-)

Das erwartete Ergebnis ist

$ cat myfile
line 1
line 3

Hier ist ein Beispiel, wie ich versucht haben, um zurückzukehren,

$ git revert 342f9bb
Automatic revert failed.  After resolving the conflicts,
mark the corrected paths with 'git add <paths>' or 'git rm <paths>'
and commit the result.
Kommentar zu dem Problem
Wenn jemand feststellt, dass diese bei der Suche nach dem gleichen problem, hier ist, was ich am Ende tun: Kopieren und einfügen. Ernst. Habe 6+ Stunden zu versuchen, um die vorgeschlagenen Lösungen zu arbeiten, ohne Erfolg. Am Ende war ich out-of-Zeit, zog das original, und einfach copy/Paste über 20 Dateien. Dauerte weniger als 5 Minuten, und alles wurde gut, seit (auch wenn diese Dateien werden zusammengeführt mit den Veränderungen in anderen Branchen, die passiert ist, bevor dieses Fiasko). Ich schlage vor, Sie nehmen diesen Ansatz auch. Es ist nicht nur das einfachste, ich vermute auch es ist die einzige Sache, die funktioniert. Kommentarautor: Joshua Cheek

InformationsquelleAutor der Frage Joshua Cheek | 2010-05-30

Schreibe einen Kommentar