2016-11-28 65 views
0

我有5個分支主,分支1,分支2,分支3和分支4。如何正確恢復多個合併到遠程主

我對分支3進行了一些更改,併合併爲主,並再次做了兩次,現在我想在所有3合併之前回到階段,我可以簽出該提交併創建另一個分支,其中包含數據如何我需要它。

git checkout 1ba671a79a0cc57129768ce1ad0218e17841e4d9

然後

git checkout -b "experimental-branch"

我有我想在實驗分支的階段,所有的內容,但我想這在主分支。我如何做到這一點?

我想重置我的主人到這個提交「1ba671a79a0cc57129768ce1ad0218e17841e4d9」之後有提交和合並,這是不需要的。

回答

2

如果你真的想你的master分支重置這一承諾,就用:

git reset --hard 1ba671a7 

這將您master分支重置爲這個承諾。但請記住,這將重寫此分支的歷史。這意味着它可能會導致共享分支的任何人遇到問題(我假設此刻沒有其他人共享)。

推更新master,你將需要使用:

git push --force origin master 

分支強制到資源庫。

如果您試圖在公共共享分支上恢復提交,那麼您應該考慮使用git revert代替。

+0

我的實驗分支沒有提交任何東西,我需要再次提交'git commit -m'所有內容'嗎? –

+0

'我擁有舞臺上的所有內容......這是什麼意思?如果你沒有做任何工作,你爲什麼要把這個分支帶回當前的'master'? –

+0

我不希望在提交和合並後做出的更改我不想要這些更改。 –