2016-05-04 10 views
18

Ich habe eine Zusammenführung (in den "Master" Zweig) erstellt, die jetzt in einem Bitbucket Repo ist. Lange Rede, kurzer Sinn: Ich muss diese Zusammenführung rückgängig machen.Wie rückgängig machen einer Zusammenführung auf Bitbucket?

Ich weiß, dass Sie dies auf der Github-Website selbst tun können, aber Bitbucket verfügt nicht über diese Funktion. Mir ist nicht klar, wie ich dies mit Git machen soll, ohne ein Durcheinander zu verursachen.

Antwort

37

Sie müssen zuerst das Repository auf dem lokalen System klonen (Sie können die Repo-URL in SSH oder HTTPS-Format von der Seite "Übersicht" des Endlagers in Bitbucket erhalten):

git clone [email protected]:my/repo.git 
-or- 
git clone https://[email protected]/my/repo.git 

git checkout master 

.. dann Zurücksetzen des letzten Commits Erste Liste der zur Verfügung stehende begeht mit:

git log 

.. dann die vor der Zusammenführung verpflichten wählen:

git reset --hard 72ead1c4c1778c23c277c4f15bbb68f3bb205f54 

.. wo die Hash der Hash-Wert des Commit vor der Zusammenführung (aus dem Protokoll) ist . Zum Schluss drücken Sie die Änderungen erneut auf Bitbucket und überschreiben den Verlauf.

git push -f 

Natürlich, wenn der Repo gemeinsam genutzt wird, und die anderen Benutzer haben Ihre letzte gezogen begehen und oben auf sie gebaut, werden sie nicht glücklich sein. In diesem Fall solltest du jeden darüber informieren, was du tust.

revert, wie in den anderen Antworten erwähnt, ist eine andere Option; Sie behält das von Ihnen vorgenommene Commit bei, ändert jedoch das Repository (mit einem neuen Commit) so, dass die vorgenommenen Änderungen rückgängig gemacht werden. Ob Sie revert verwenden möchten, hängt davon ab, ob die Informationen in Ihrem Commit in der Repo-Historie verbleiben sollen oder nicht.

Weitere Informationen zum Rückgängigmachen von Änderungen in git finden Sie unter good tutorial page by Atlassian.

+0

Perfekt, danke. – James

+0

Danke, diese Lösung rette meinen Tag zu –

+0

Sie haben gerade meinen Tag gerettet - danke! – matisa

1

die Änderungen eines Commit rückgängig zu machen: git revert <commit id>

4

Ich würde vorschlagen, ein revert stattdessen tun, da Sie einen öffentlichen Repo werden zurückkehren.

git revert HEAD 
git push -f origin 
2

A "Revert-Pull-Request" wurde Funktion im Jahr 2017 in Bitbucket implementiert

eine Pull-Anforderung Um wieder:

  1. Aus dem Pull-Request, klicken Sie auf die Revert-Schaltfläche oben rechts . (Optional) Ändern Sie im Dialogfeld "Pull-Anforderung zurücksetzen" den Branch-Namen für den neuen Zweig, den Sie erstellen möchten.
  2. Klicken Sie auf die Schaltfläche Zurücksetzen. Sobald Sie auf Revert klicken, erstellt Bitbucket den neuen Zweig. Selbst wenn Sie die Pull-Anforderung abbrechen, verbleibt der Zweig für die Zurücksetzung im Repository.
  3. Die Seite Erstellen einer Pull-Anforderung wird geöffnet, wobei der Zweig "Zurückkehren" als Quelle verwendet wird. Nachdem Sie Ihre Prüfer hinzugefügt und weitere Änderungen vorgenommen haben, klicken Sie auf Erstellen.

Quelle: the docs.

Verwandte Themen