簡體   English   中英

Github - 如何恢復某人提交?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM