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

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

在Git中恢復由SHA哈希提交?

在Git中恢復由SHA哈希提交?

Git
蕭十郎 2019-08-28 16:18:39
在Git中恢復由SHA哈希提交?我不清楚如何git revert工作。例如,我想在頭部后面恢復提交六次提交,恢復中間提交之間的所有更改。說它的SHA哈希是56e05fced214c44a37759efa2dfc25a65d8ae98d。那我為什么不能做以下事情:git revert 56e05fced214c44a37759efa2dfc25a65d8ae98d
查看完整描述

3 回答

?
MMMHUHU

TA貢獻1834條經驗 獲得超8個贊


如果要在當前HEAD上提交具有不同提交的確切狀態,撤消所有中間提交,則可以使用reset創建索引的正確狀態來進行提交。


# Reset the index and working tree to the desired tree

# Ensure you have no uncommitted changes that you want to keep

git reset --hard 56e05fced


# Move the branch pointer back to the previous HEAD

git reset --soft HEAD@{1}


git commit -m "Revert to 56e05fced"


查看完整回答
反對 回復 2019-08-28
?
Helenr

TA貢獻1780條經驗 獲得超4個贊

什么混帳復歸確實是一個指定的提交創建一個承諾,撤消在給定提交所做的更改,創建提交其反向(當然,倒數)。因此

git revert <SHA-1>

應該而且確實有效。

如果你想回退到指定的提交,并且你可以這樣做,因為這段歷史尚未發布,你需要使用git-reset,而不是git-revert:

git reset --hard <SHA-1>

(注意,--hard這將使您丟失工作目錄中的任何未提交的更改)。

補充說明

順便說一下,也許它并不明顯,但在文檔說<commit><commit-ish>(或<object>)的任何地方,你都可以提交一個SHA-1標識符(完整或縮短)。


查看完整回答
反對 回復 2019-08-28
?
婷婷同學_

TA貢獻1844條經驗 獲得超8個贊

它恢復了所述提交,即添加與其相反的提交。如果要簽出早期版本,請執行以下操作:

git checkout 56e05fced214c44a37759efa2dfc25a65d8ae98d


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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