2017-06-11 3 views
0

Ich habe ein Repository auf github gegabelt, dann geklont (geklont den Master Repo) erstellt einen neuen Zweig an einigen Dateien gearbeitet und dann hinzugefügt und die Änderungen festgeschrieben. Ich schob die Änderungen an meinem gegabelt Repo übereinen Commit nach Github zurückschieben

git push "my-remote" "my-branch"

Nun, ich weiß, ich unnötige Änderungen vorgenommen und möchte nur eine Änderung für eine Pull-Anforderung an den master begehen. Gibt es eine Möglichkeit, die Commits zurückzusetzen?

Lesen der Hilfe, sollte ich git reset --hard HEAD verwenden, aber ich bin nicht sicher, ob der Bedeutung von HEAD

Antwort

2

HEAD zeigt auf den neuesten verpflichten Sie seine wie ein Zeiger gemacht. Geben Sie git log ein und Sie werden alle Ihre Commits finden. Also jedes Mal verwenden Sie

git reset --hard HEAD

Ihre Änderungen zurückgedrängt werden ein begehen. Beachten Sie, dass die Verwendung von --hard bedeutet, dass die Commit-Änderungen, die Sie zurückgewinnen möchten, auf diese Weise für immer verloren gehen.

+0

Meine Commits sind die neuesten, aber ich habe auch Commits von Mitwirkenden gefunden .. Ich möchte sicher sein, dass ich das richtig mache. 'git reset --hard HEAD wird das letzte Commit-Datum entfernen, richtig? –

+0

@MeriemBen das ist richtig, aber ich würde Sie dringend bitten, eine nicht-destruktive Methode zu finden (es gibt eine - nur kann mich jetzt nicht erinnern), so für den Fall, dass Sie wieder "vorwärts" gehen wollen, können Sie dies tun –

+0

Ich glaube, du meinst "rückgängig machen" statt "zurücksetzen". Ich habe die Commits zurückgesetzt, die ich über git gemacht habe rückgängig gemacht dann in einen anderen Zweig geändert und verwendet git cherry-pick , um nur einen Commit zu wählen, um zu drücken. Danke für die Hilfe. –