将部分修改, 提交到历史中的某个提交(commit)中去, 但不想改变这个提交(commit)之后的历史记录
直接使用git rebase -i head^n
并通过修改对应commit为e来对此提交进行修改。
可以在修改前, 先通过git add
先将需要增加的部分修改添加到暂存区, 然后用git commit --amend --no-edit
/git commit --amend
将这部分提交添加到这个对应的commit中。
随后, 继续通过git rebase --continue
来结束本次历史修改。
tips: 当然, 如果你是在开发过程中的最新修改中发现了某些修改实际上应该在历史中的某次提交中, 你可能需要先使用
git stash
与git stash apply
来配合使用。请放心,
git stash
只会记录修改部分的内容, 而不是最新的整个文件内容。 因此, 您不必担心这么做, 会带来与特定阶段不应该有的修改内容(不会改变这个提交(commit)之后的历史记录)。也就是说即使你是在最新的开发状态下使用的
git stash
, 但只要这部分修改的原始内容, 与 要修改的那次commit完全重合, 没有冲突, 就完全没有任何问题。因为
git stash
在使用时, 是基于最新的commit来比较的, 因此只会记录这部分修改的内容, 即使最新的commit与要修改的那次commit相比有很多不同的变更,git stash
也不会记下这些部分的变更。即不会将本次提交后新增的内容加入到历史提交(commit), 从而影响这个提交(commit)之后的历史记录。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 道远日暮时不存!