修复一次糟糕的 Git 提交

修复一次糟糕的 Git 提交

哦 no!这次提交没弄好!

在使用 Git 的时候,我们大家都碰到过不顺心的时候,可能是忘记添加文件或者是忘记写注释了,也有可能是合并未按预期进行了。幸运的是,Git 有一些命令可以帮助处理这些常见的情况,一起来了解一下吧。

1.修改提交信息

糟糕——在提交消息中你发现了拼写错误。不用担心,这个我们是可以修改的:

git commit --amend -m "new message"

2.添加文件到最后一次提交

更改已经提交,但又忘记添加文件了。没问题,我们仍然可以将文件添加到这次提交中:

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

3.撤消提交

如果要撤消最近一次提交但保留更改,可执行以下操作:

git reset --soft HEAD~1

如果要撤消提交和更改,可执行以下操作:注意,确定是要丢弃更改。

git reset --hard HEAD~1

还有一种情况是,如果要撤消所有的本地更改,则可以重置为分支的原始版本:

git reset --hard origin/<branch_name>

如果要撤消提交而不修改现有历史记录,则可以使用 git revert,此命令通过创建新的提交来撤消提交。

git revert HEAD

如果你刚解决了冲突,完成了合并,并且推送到了原始版本。在这个节骨眼上出了点问题……

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

git revert -m 1 <commit_id>

commit_id 是要还原的合并提交 id。

注意要点:

  1. 可以撤消任意数量的提交。例如:git reset HEAD~3(返回 HEAD 之前的 3 个提交);git reset --hard <commit_id>(返回特定的提交)。
  2. 如果尚未推送提交,并且你不想引入糟糕的提交到远程分支,可以使用 git reset。
  3. 使用 git revert 还原已经推送到远程分支的合并提交。
  4. 使用 git log 查看提交历史。

本文由 Sanarous 创作,如果您觉得本文不错,请随意赞赏
采用 知识共享署名4.0 国际许可协议进行许可,转载前请务必署名
本文链接:https://bestzuo.cn/posts/git-commit.html
最后更新于:2021-06-27 12:10:11

切换主题 | SCHEME TOOL