[英]Github - How to revert someone commit ?
有人推送了 3 個我想刪除的提交,但我的意思是我不想在 Github 的提交歷史記錄中看到它們,因為它們的名稱錯誤。 如何做到這一點?
這取決於您的存儲庫的當前狀態。
如果這些是最后三個提交並且您真的“不想看到它們”,則可以重置為位於這三個提交之前的提交:
git reset --hard HEAD~3
然后使用--force推送。
一般來說,如果你想恢復提交,你應該使用git revert 。 例如:
git revert HEAD~<2>..HEAD
這將創建一個提交,從最后三個提交中刪除更改。
假設三個提交是最近的三個提交,那么首先有用的是您要恢復到的父提交的總和。 例如: 6b1d1ca
。 您可以在 GitHub 中提交歷史記錄的右側欄中找到它。
接下來,您想使用以下命令將 git 樹重置為該提交
git reset --hard 6b1d1ca
由於您要從歷史記錄中刪除提交,因此您需要強制推送到 GitHub,這可以通過附加選項--force
來完成。
git push --force
小心使用--force
選項,如果你推送了提交,因為它們肯定會被覆蓋。
您可以使用rebase
命令刪除或更改提交消息。
輸入git rebase -i HEAD~4
。 -i
選項進行交互式變基。
您的文本編輯器將打開並列出最后4 個提交。 每個提交之前都會有一個單詞pick
。
刪除要刪除的提交的行。 這將告訴rebase
您不想將這些提交保留在歷史記錄中。
保存文件並關閉它。
現在 git 應該根據您在打開的文件中選擇的選項對您的歷史進行“rebase”,即刪除您不想要的提交。
如果要更改提交消息,請在每次要編輯和保存文件的提交之前將pick
更改為reword
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.