我有一个仓库,里面有多个提交,我想将它们分成两个补丁来合并。一个补丁引入新功能,另一个补丁修改现有代码以使用该功能。问题在于,在编码和提交时我没有考虑到这一点,所以有些提交既包括了引入新功能的内容,也包括了修改现有代码的内容。如何拆分这些提交?
我知道可以通过 git rebase -i 命令来做到这一点,对每个要更改的提交选择编辑,但这种方法只能更改提交消息,不能更改代码。
rebase
命令可以帮助你拆分提交记录:这是我会做的:
git reset COMMIT_BEFORE_CHANGES --soft
并在适当的提交中重新提交所有内容。--soft
会将您的工作树和索引保留在重置之前的状态。
不用说,如果有人从您那里拉取后,您不应该做这样的事情。