如何git rebase -i编辑并查看过去的提交更改

问题描述

通常,我使用git rebase -i HEAD~<number of commits I added>编辑旧的提交,将edit放在要编辑的提交上,进行更改,添加文件git rebase --continue

是否可以使用rebase编辑提交,但可以查看过去的提交更改?

示例: 假设我已经提交了commitAcommitBcommitC(位于commitC的HEAD)。 现在我要编辑commitA。我是git rebase -i HEAD~3,并将edit放在commitA上。现在我处于改组的中间,但我想要commitA 更改显示为更改,这种情况使我在commitA更改已提交的情况下写了我的修订。

如果有另一种方法可以修复过去的提交并将该提交更改为staged,那就太好了

谢谢!

解决方法

o.k似乎比我想象的要容易!只需执行以下步骤: 假设我要编辑5次提交:

  1. git rebase -i HEAD~5
  2. 更改选择以对要编辑的提交进行编辑。
  3. 如果您希望查看当前的提交更改类型git reset HEAD~1,因为您已经在此处进行提交,则您的交互式rebase将开始。
  4. 进行更改。
  5. git add <files of your change and past commit files>或仅git add -u来添加所有跟踪的文件。
  6. git commit
  7. git rebase --continue

快乐的混蛋:)