这两个命令有什么区别吗?
git subtree split --prefix=some_subdir -b some_branch
和
git filter-branch --subdirectory-filter some_subdir some_branch
我希望使用git filter-branch
代替git subtree
,因为我还想删除新分支中的一些文件,但我担心这个保证只适用于git subtree
,对于git filter-branch
可能无效:
确保完全相同历史记录的重复拆分将是相同的(即产生相同的提交ID)。由于这个原因,如果您添加了新的提交,然后重新拆分,新的提交将作为附加的提交附加在上次生成的历史记录之上,所以 'git merge'等命令将按预期工作。