3 回答

TA貢獻2012條經驗 獲得超12個贊
git pull
將做兩件事:它做了一個git fetch
然后git merge
它合并了已經設置為在你的配置中合并的分支。
所以你想要做的是撤消合并(撤消fetch并沒有多大意義,也不是必要的)。
要做到這一點,您可以嘗試使用git reset --hard
重置為以前的狀態(tài)。使用git-reflog命令查找先前狀態(tài)的SHA-1,然后重置為該狀態(tài)。
警告:git reset --hard
刪除所有未提交的更改。

TA貢獻1802條經驗 獲得超5個贊
與jkp的答案相同,但這是完整的命令:
git reset --hard a0d3fe6
通過這樣做找到a0d3fe6
git reflog
并查看要撤消的點。

TA貢獻1786條經驗 獲得超11個贊
撤消合并的更現(xiàn)代的方法是:
git merge --abort
而稍微老一點的方式:
git reset --merge
之前答案中描述的老派方式(警告:將丟棄所有本地更改):
git reset --hard
但實際上,值得注意的git merge --abort
是,它只相當于給git reset --merge
定MERGE_HEAD
的存在。這可以在git help for merge命令中讀取。
git merge --abort is equivalent to git reset --merge when MERGE_HEAD is present.
合并失敗后,如果沒有合并,MERGE_HEAD
則失敗的合并可以撤消,git reset --merge
但不一定是撤消git merge --abort
,因此它們不僅是同一事物的舊語法和新語法。這就是我發(fā)現(xiàn)git reset --merge
在日常工作中更有用的原因。
- 3 回答
- 0 關注
- 849 瀏覽
添加回答
舉報