亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

撤消git pull,如何將repos帶到舊狀態

撤消git pull,如何將repos帶到舊狀態

Git
aluckdog 2019-08-05 16:48:59
撤消git pull,如何將repos帶到舊狀態有沒有辦法恢復或撤消git pull,以便我的源/ repos將進入git pull之前的舊狀態?我想這樣做是因為它合并了一些我不想這樣做的文件,但只合并了其他剩余的文件。所以,我想要恢復這些文件,這可能嗎?謝謝 :)編輯我想撤消git merge以澄清??吹揭恍┐鸢负螅揖瓦@樣做了git reflogbb3139b... HEAD@{0}: pull : Fast forward01b34fa... HEAD@{1}: clone: from ...name...現在,我該怎么辦?做的git reset --hard 還行嗎?我不想再把它搞砸了,所以要求詳細的步驟?
查看完整描述

3 回答

?
繁花如伊

TA貢獻2012條經驗 獲得超12個贊

git pull將做兩件事:它做了一個git fetch然后git merge它合并了已經設置為在你的配置中合并的分支。

所以你想要做的是撤消合并(撤消fetch并沒有多大意義,也不是必要的)。

要做到這一點,您可以嘗試使用git reset --hard重置為以前的狀態。使用git-reflog命令查找先前狀態的SHA-1,然后重置為該狀態。

警告git reset --hard刪除所有未提交的更改。


查看完整回答
反對 回復 2019-08-05
?
12345678_0001

TA貢獻1802條經驗 獲得超5個贊

與jkp的答案相同,但這是完整的命令:

git reset --hard a0d3fe6

通過這樣做找到a0d3fe6

git reflog

并查看要撤消的點。


查看完整回答
反對 回復 2019-08-05
?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

撤消合并的更現代的方法是:

git merge --abort

而稍微老一點的方式:

git reset --merge

之前答案中描述的老派方式(警告:將丟棄所有本地更改):

git reset --hard

但實際上,值得注意的git merge --abort是,它只相當于給git reset --mergeMERGE_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,因此它們不僅是同一事物的舊語法和新語法。這就是我發現git reset --merge在日常工作中更有用的原因。


查看完整回答
反對 回復 2019-08-05
  • 3 回答
  • 0 關注
  • 850 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號