如何 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 会为我标记线。
示例:
假设我已经提交了commitA
、commitB
、commitC
(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 编辑并查看过去的提交更改的主要内容,如果未能解决你的问题,请参考以下文章