3 回答

TA貢獻1833條經驗 獲得超4個贊
如果您尚未推動更改, git reset --hard HEAD^
否則,還原還原就可以了。
另一種方法是git checkout HEAD^^ -- .,然后git add -A && git commit。

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

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。
- 3 回答
- 0 關注
- 1111 瀏覽
添加回答
舉報