首页 > 解决方案 > 如何在历史记录中更改特别是 git 提交的文件?

问题描述

在提交 Ahello.world中添加了一个文件,并在提交 B提交 C中进行了修改。

现在我想向所有三个提交添加一个文件(可能是相同的文件名,附加了hello.world. removed),它包含一条消息,解释hello.world作为 repo 清理的一部分从历史记录中删除,理想情况下hello.world在给定的情况下说明校验和犯罪。

有可能这样做吗?我该怎么做?

标签: gitcommit

解决方案


有可能这样做吗?

当然-您可以编辑历史记录,但评论中“违背了 Git 的本质”。

我该怎么做?

是时候学习 git rebase 了,网上有很多教程。简而言之:假设 commitC是最新的,我想:

  • git rebase -i @^^^^
    • edit提交A
    • 退出编辑器
  • 创建文件hello.world.removed
  • 使用您希望它拥有的消息编辑该文件
  • git add文件
  • git commit --amend要提交的文件A
  • 然后继续git rebase --continue
  • 然后修复任何潜在的合并冲突。

推荐阅读