`git commit --amend` 详解:修改提交纪录的正确方式

打印 上一主题 下一主题

主题 1879|帖子 1879|积分 5641

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
git commit --amend
详解:修改提交纪录的正确方式


git commit --amend
用于修改迩来一次的提交,它通常用于:

  • 修正提交信息(如提交说明写错了)
  • 增补遗漏的更改(如忘记添加某些文件)
  • 合并当前更改到上一次提交
1. 修改提交信息

如果你提交后发现 commit message(提交说明)写错了,可以用 --amend 举行修改:
  1. git commit --amend
  2. -m "新的提交说明"
复制代码
示例
  1. git commit --amend
  2. -m "修正错别字,添加更准确的描述"
复制代码
这不会创建新的提交,而是直接修改上一次提交的说明。
2. 增补遗漏的文件

如果你提交后才发现少提交了某些文件,可以先 git add,然后 --amend 合并它们:
  1. git add file1.txt file2.txt  # 先添加遗漏的文件
  2. git commit --amend
  3. --no-edit  # 不修改提交信息,只合并更改
复制代码
示例
  1. git add README.md
  2. git commit --amend
  3. --no-edit
复制代码
这样,README.md 的更改会被追加到前次提交,而提交信息保持稳固。
3. 结合 --amend 举行交互式修改

如果你想更改提交信息,同时增补新文件,可以利用:
  1. git commit --amend
复制代码
这会打开默认的文本编辑器(如 Vim),你可以在里面编辑提交说明,同时 Git 会主动合并已暂存的更改。
留意事项

  • 不要在推送到长途仓库后的提交上随意利用 --amend,否则会改变提交哈希值,影响协作。

    • 如果已经推送了,可以用 git push --force 强制更新,但这大概会影响团队的协作。

  • 实用于本地修改,如果提交已经分享给他人,最好用 git revert 而不是 --amend。

4. 已推送提交的修改

如果已经推送了提交,但仍然想修改,需要强制推送:
  1. git commit --amend
  2. -m "修改后的提交信息"git push --force  # 强制推送(谨慎利用)
复制代码
⚠ 告诫: 强制推送大概会覆盖长途分支的历史,影响其他开辟者的工作,利用时需谨慎!
总结



  • git commit --amend
    -m "新信息" → 修改提交说明
  • git commit --amend
    --no-edit → 追加文件但不修改提交说明
  • git commit --amend
    → 交互式修改提交
这个命令在修正错误时非常有用,但利用时要留意影响,尤其是在团队协作中。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

王國慶

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表