2017-01-09 51 views
1

我意外地將分支1的更改引入了分支2.如何將分支2的本地副本設置回原來的最後一個提交?將分支帶回原來的提交

這些更改尚未推送到遠程存儲庫。

回答

2

在你想回到「上游」版本的每一個分支,git reset --hard @{u}@{u}是短期的@{upstream}

+0

'@ {upstream}'指的是遠程跟蹤分支的最後一次提交。如果你對'branch-2'進行了多次本地提交,然後意外地將'branch-1'合併到了它,重置爲'@ {upstream}'將失去故意提交以及意外提交。 (換句話說:確保這是你的意思!) – trentcl

+0

謝謝你的幫助。我只是將一組更改推送到branch2,然後不小心拉到另一個分支。沒有本地提交,所以我假設我會安全地運行它? – Nick

+0

@trentcl - 這就是Nick要求「回到最後一次提交原點」。 @Nick - 是的,因爲你總是可以重新合併或使用'git reflog'來查看你的合併,然後使用'git reset --hard '來回到它。 – Mort

1

可以恢復到最後的狀態。使用git log搜索最後一個提交ID,然後重置爲提交ID爲git reset --hard <id>