我正在GIT上工作。恢復拉到前面的提交
我正在研究一個名爲branch1的分支,我意外地拉了其他分支,我相信它會自動合併。所以問題是我想在本地回購中維護兩個不同的分支。
所以,這裏是我的問題, 從我的本地回購分支1中的分支2拉動它會自動合併? 如果它自動合併,我如何撤消最後一次拉,並有我最後一次提交?
我正在GIT上工作。恢復拉到前面的提交
我正在研究一個名爲branch1的分支,我意外地拉了其他分支,我相信它會自動合併。所以問題是我想在本地回購中維護兩個不同的分支。
所以,這裏是我的問題, 從我的本地回購分支1中的分支2拉動它會自動合併? 如果它自動合併,我如何撤消最後一次拉,並有我最後一次提交?
git pull branch2
當您在分支1上時會導致合併。 git pull
是git fetch
的組合命令,在您的情況下爲git merge
。
爲了撤銷更改,請用git log
查看您的日誌。你應該看到一個類似於「合併分支'分支2'到'分支1'的提交。
該提交是執行合併的提交。在這個提交下面的SHA將是一個條目Merge: <partial sha> <partial sha>
。這一行告訴你在合併中合併的兩個提交。其中一個是來自branch2的最新提交,另一個將是您分支上的最新提交。當你確定了你想要的提交時,你可以使用git reset --hard
來讓你的分支在那一點刪除合併的所有東西。
git reset --hard
不可恢復,所以如果你擔心做錯了,建立一個新的分支所有變化通過git branch backupBranch
所以你不會失去任何東西,如果你reset --hard
在錯誤的一點。
感謝您的回答,我想我會做一個'git stash'並忽略將其刪除。我希望我沒有錯。 – 2014-11-06 16:46:29