Git - 如何修复错误的提交 ugit

2025-05-24

Git - 如何修复错误的提交

乌吉特

哦不,这个提交太乱了!🤦‍♂️

我们每个人都会遇到不顺心的时候。我们可能会忘记添加文件、留下评论,或者合并操作没有按预期进行。幸运的是,Git 有一些命令可以处理这些常见情况,我想向你展示其中的一些。

修改提交信息

哎呀……您在提交信息中发现了拼写错误。不用担心,您可以修改它:


 bash
git commit --amend -m "new message"


Enter fullscreen mode Exit fullscreen mode

将文件添加到上次提交

你已经提交了更改,但忘记添加一些文件。没问题,你仍然可以将它们添加到提交中:


 bash
git add <file_name>
git commit --amend HEAD~1


Enter fullscreen mode Exit fullscreen mode

撤消提交

如果您想撤消最后一次提交但保留更改:


 bash
git reset --soft HEAD~1


Enter fullscreen mode Exit fullscreen mode

如果您想要撤消提交和更改:⚠️确保您想要丢失更改:


 bash
git reset --hard HEAD~1


Enter fullscreen mode Exit fullscreen mode

或者,如果您想撤消所有本地更改,您可以重置为分支的原始版本:


 bash
git reset --hard origin/<branch_name>


Enter fullscreen mode Exit fullscreen mode

如果您想撤消提交而不更改现有历史记录,您可以使用git revert,此命令通过创建新提交来撤消提交:


 bash
git revert HEAD


Enter fullscreen mode Exit fullscreen mode

如果您刚刚解决了一些冲突,完成了合并,并推送到原点。但是,等等,出了点问题……

撤消已推送到远程分支的合并提交的安全方法是使用以下git revert命令:


 bash
git revert -m 1 <commit_id>


Enter fullscreen mode Exit fullscreen mode

commit_id是您想要恢复的合并提交 ID。

笔记:

  • 您还可以撤消任意数量的提交。例如:

    • git reset HEAD~3(返回 HEAD 之前的三次提交)。
    • git reset --hard <commit_id>(返回到特定的提交)。
  • git reset如果尚未推送提交并且您不想向远程分支引入错误的提交,请使用。

  • 用于git revert恢复已推送到远程分支的合并提交。

  • 用于git log查看提交历史记录。

  • 如果您愿意,您也可以创建一个包含修复程序的新提交。

希望您和我一样觉得这些命令有用,并且能够熟练使用它们。如果您已经了解这些命令,或者觉得缺少了某个命令,请在评论区告诉我。感谢您的阅读!

文章来源:https://dev.to/guivern/git-how-to-fix-a-bad-commit-4068
PREV
toast.log,一个浏览器扩展程序,可直接在页面上查看 JS 错误(无需打开控制台)
NEXT
停止使用默认的 console.log,改为检查这个