[软技能] 第1360天 使用git commit后,如何修改commit的信息?

121 阅读2分钟

cover.png

在开发过程中,我们经常需要使用 Git 来管理代码版本和协作开发。其中一个非常重要的命令就是 git commit,它可以将当前工作目录下的文件变更保存到本地仓库中,并生成一条提交记录(Commit)。但有时候,我们可能会对已经提交的 Commit 信息有所遗漏或者错误,这时候就需要修改 Commit 的信息了。

修改最近一次提交

如果你只需要修改最近一次的提交信息,可以使用 --amend 参数来覆盖掉原始的提交记录。具体步骤如下:

  1. 修改代码并执行 git add 将修改的文件添加到暂存区;
  2. 执行 git commit --amend 命令打开编辑器修改提交信息,也可以使用 -m 参数直接指定新的提交信息;
  3. 保存并关闭编辑器。

这时候,Git 会使用新的提交信息覆盖掉原先的提交记录。

以下是示例代码:

# 修改代码
echo "Hello world" > hello.txt

# 添加到暂存区
git add .

# 修改最近一次提交信息
git commit --amend -m "Add greeting message"

修改历史提交

如果你需要修改比较早之前的提交记录,或者需要修改多个提交记录,就需要使用 git rebase 命令了。具体步骤如下:

  1. 执行 git rebase -i HEAD~n 命令,其中 n 表示需要修改的提交记录数量;
  2. Git 会打开交互式编辑器,列出需要修改的提交记录,每个记录前面有一个操作符号,例如 pickedit 等。将需要修改的记录的操作符号改为 edit 并保存文件;
  3. 执行 git commit --amend 命令来修改提交信息;
  4. 如果需要修改文件内容,修改文件后执行 git add 将新的变更添加到暂存区;
  5. 执行 git rebase --continue 命令继续 rebase 操作;
  6. 重复步骤 3-5 直到修改完成。

以下是示例代码:

# 修改 3 条提交记录的信息
git rebase -i HEAD~3

# 将需要修改的记录的操作符号改为 `edit`

# 修改第一条记录的信息
git commit --amend -m "Update README"

# 修改第二条记录的信息和文件内容
echo "Hello world" > hello.txt
git add .
git commit --amend -m "Add greeting message"

# 修改第三条记录的信息
git commit --amend -m "Fix typo in comment"

# 继续 rebase 操作
git rebase --continue

总结

在开发过程中,使用 Git Commit 来管理代码版本和协作开发是非常必要的。如果你需要修改已经提交的 Commit 信息,可以使用 --amend 参数来覆盖最近一次的提交记录,或者使用 git rebase 来修改历史提交记录。但需要注意的是,在修改已经提交的 Commit 信息之后,可能会影响到其他人的代码协作,因此需要谨慎操作。

更多题目

juejin.cn/column/7201…