Git amend使用

基本用法

git commit --amend
  • 作用:修改最近一次提交的提交信息提交内容
  • 执行后:Git 会打开默认编辑器,让你修改提交信息,或者允许你添加/删除文件到这次提交。

常见使用场景

  1. 修改提交信息
  • 如果你提交后发现提交信息写错了,可以用以下命令修改: bash git commit --amend -m "新的提交信息"
    • 直接指定新的提交信息,无需进入编辑器。
  1. 添加漏掉的文件
  • 如果你提交后发现忘记添加某些文件:
    1. 修改或添加文件到暂存区:
      bash git add 文件名
    2. 运行:
      bash git commit --amend
    • Git 会将新的暂存内容合并到上一次提交中,并允许你修改提交信息(如果需要)。
  1. 不修改提交信息
  • 如果只想修改提交内容但保留原提交信息:
    bash git commit --amend --no-edit

注意事项

  • 已推送的提交:如果提交已经推送到远程仓库(如 GitHub),使用 git commit --amend 会改变提交的哈希值,导致历史不一致。推送修改后需使用:
  git push --force

但要谨慎,强制推送可能会影响协作者。

  • 仅限最近一次提交git commit --amend 只能修改最近一次提交。如果需要修改更早的提交,需使用 git rebase 或其他高级命令。
  • 备份:建议在操作前备份分支,以防误操作导致数据丢失。

示例

  1. 修改提交信息
   git commit -m "错误信息"
   git commit --amend -m "正确信息"
  1. 添加漏掉的文件
   git commit -m "初次提交"
   git add 漏掉的文件.txt
   git commit --amend --no-edit

其他相关命令

  • 如果需要撤销 amend 操作,可以使用:
  git reset --soft HEAD@{1}

查看 git reflog 获取之前的提交哈希。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注