So entfernen Sie begeht, aus einem pull-request
Habe ich einen pull-request, aber nach, dass ich etwas begeht, um das Projekt lokal endete umweltschädliche mein pull-request, habe ich versucht es zu entfernen, aber ohne Glück.
Fand ich einige ähnliche Fragen auf StackOverflow, aber ich kann nicht anwenden, was drin ist.
Es ist mein Erster pull-request auf GitHub, also es ist irgendwie seltsam für mich, wie das ganze funktioniert.
Den markierten Begehen, ist der, den ich brauche, um zu halten, und entfernen Sie alle anderen Sachen.
Es wird der vierte commit in die Geschichte, weil ich einige merge-Zeug.
mein git log
Kann mir bitte jemand erklären, was Los ist, und wie dieses problem zu lösen?
- Sie müssen Stellungswechsel, und nur "pick" der "Hinzugefügt von github" Begehen (z.B. kommentieren Sie die Zeilen, für jeden anderen Begehen)
- Stellungswechsel, was Zweig auf welchen Zweig können Sie fügen Sie bitte weitere Erläuterungen.
what branch
= der Zweig, an dem Sie arbeiten,onto what branch
= der Zweig, du bist pull-in anfordern- Ich erklärte, was @Robbie Averill deutete in meine Antwort. Es ist merkwürdig, dass niemand schrieb eine Antwort zu erklären, dies bis heute.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie mehrere Techniken, es zu tun.
Diesen Beitrag - Lesen Sie den Teil über die revert - wird im Detail erklären, was wir tun wollen und wie es zu tun.
Hier ist die einfache Lösung für Ihr problem:
Den revert-Befehl erstellt einen neuen commit mit dem rückgängig der ursprünglichen Begehen.
Menschen würden nicht gerne sehen wie ein Falsches commit und revert commit um änderungen rückgängig zu machen der falsche commit. Diese verschmutzen commit-Historie.
Hier ist eine einfache Möglichkeit zum entfernen der falschen Begehen, statt Rückgängigmachen von änderungen mit revert commit.
git checkout my-pull-request-branch
git rebase -i HEAD~n
//won
ist die Nummer der letzten commits, die Sie einschließen möchten, in den interaktivenrebase.
pick
mitdrop
für übertragungen, die Sie tauschen möchten.git push --force
git push origin HEAD:myBranch --force
. Aber ansonsten Super und hilfreich.Also Folgendes tun ,
Lets sagen, dass Ihre Zweigstellen name ist my_branch und das hat der extra verpflichtet.
git checkout -b my_branch_with_extra_commits
(Wobei dieser Zweig unter einem neuen Namen gespeichert)gitk
(Öffnet git-Konsole)git checkout my_branch
gitk
(Dies wird öffnen Sie die git-Konsole )reset branch to here
"git pull --rebase origin branch_name_to _merge_to
git cherry-pick <SHA you copied in step 3. >
Schauen Sie sich jetzt die Ortsgruppe commit-Historie und stellen Sie sicher, alles sieht gut aus.
Wenn Sie das entfernen eines Begehen und nicht möchten, dass Ihre änderungen @ferit hat eine gute Lösung.
Wenn Sie wollen hinzufügen, dass commit in den aktuellen Zweig, aber nicht sinnvoll zu sein, ein Teil der aktuellen pr -, können Sie folgende Schritte statt:
git rebase -i HEAD~n
git reset HEAD^ --soft
zu uncommit die änderungen und bringt Sie zurück in eine inszenierte Staat.git push --force
zur Aktualisierung der remote-Zweigstelle ohne Ihr entfernt Begehen.Jetzt werden Sie entfernt haben, das Begehen von Ihr entfernten, aber immer noch haben die änderungen lokal.