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

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

如何“取消還原”已還原的Git提交?

如何“取消還原”已還原的Git提交?

Git
墨色風雨 2019-10-05 11:37:22
給定已使用進行更改,commit然后使用還原的更改,revert撤消該還原的最佳方法是什么?理想情況下,應該使用新的提交完成此操作,以免重寫歷史記錄。
查看完整描述

3 回答

?
瀟瀟雨雨

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

如果您尚未推動更改, git reset --hard HEAD^


否則,還原還原就可以了。


另一種方法是git checkout HEAD^^ -- .,然后git add -A && git commit。


查看完整回答
反對 回復 2019-10-05
?
繁星coding

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

git cherry-pick <original commit sha>

將復制原始提交,實質上重新應用提交


還原還原將執行相同的操作,并帶有更復雜的提交消息:

git revert <commit sha of the revert>


這兩種方式都將允許您git push不覆蓋歷史記錄,因為它會在還原后創建一個新的提交。

輸入commit sha時,通常只需要前5個或6個字符:

git cherry-pick 6bfabc


查看完整回答
反對 回復 2019-10-05
?
HUWWW

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

還原提交就像git中的任何其他提交一樣。意思是,您可以還原它,如下所示:


git revert 648d7d808bc1bca6dbf72d93bf3da7c65a9bd746

顯然,只有在推送更改后才有意義,尤其是當您無法強制將其推送到目標分支時(這對于您的master分支是個好主意)。如果尚未推送更改,請按照其他帖子的說明進行選擇,還原或僅刪除還原提交。


在我們的團隊中,我們有一條規則,即對主分支中提交的“還原”提交使用“ 還原 ”,主要是為了保持歷史記錄的清潔,以便您可以看到哪個提交還原了什么內容:


      7963f4b2a9d   Revert "Revert "OD-9033 parallel reporting configuration"

      "This reverts commit a0e5e86d3b66cf206ae98a9c989f649eeba7965f.

                    ...

     a0e5e86d3b6    Revert "OD-9055 paralel reporting configuration"

     This reverts commit 648d7d808bc1bca6dbf72d93bf3da7c65a9bd746.

                ...

     Merge pull request parallel_reporting_dbs to master* commit 

    '648d7d808bc1bca6dbf72d93bf3da7c65a9bd746'

這樣,您可以追溯歷史并弄清楚整個故事,即使那些不了解遺產的人也可以自己解決。而如果您隨意挑選或重新編排內容,則這些有價值的信息將會丟失(除非您將其包括在注釋中)。


顯然,如果一次提交的還原和重新還原不止一次,則將變得非?;靵y。


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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