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

Posted

技术标签:

【中文标题】如何 git rebase -i 编辑并查看过去的提交更改【英文标题】:How to git rebase -i edit and see past commits changes 【发布时间】:2021-02-24 07:03:01 【问题描述】:

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

有没有办法使用 rebase 编辑提交但查看过去的提交更改?找到我要修复的地方会容易得多,VScode 会为我标记线。

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

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

提前致谢!

【问题讨论】:

请在此处详细说明您的想法。你希望看到什么没有 @TimBiegeleisen 添加了一个示例,我的问题现在更清楚了吗? 【参考方案1】:

好吧,这似乎比我想象的要容易!只需按照以下步骤操作: 假设我想编辑 5 个提交:

    git rebase -i HEAD~5 在要编辑的提交上更改选择以编辑。 如果您想查看当前提交更改类型 git reset HEAD~1,您的交互式 rebase 将启动,因为提交已经存在,只是在重置它。 进行更改。 git add <files of your change and past commit files>git add -u 添加所有跟踪的文件。 git commit git rebase --continue

祝你好运:)

【讨论】:

以上是关于如何 git rebase -i 编辑并查看过去的提交更改的主要内容,如果未能解决你的问题,请参考以下文章

git rebase合并同一个分支的多个提交

git rebase 成功之后如何撤销

git rebase 压缩提交

Git~rebase

自定义 Git *Rebase* 提交消息模板

git rebase 操作失误回退到上一步