Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git子树和git过滤器banch的区别_Git - Fatal编程技术网

git子树和git过滤器banch的区别

git子树和git过滤器banch的区别,git,Git,这两个命令之间有什么区别吗 git subtree split --prefix=some_subdir -b some_branch 及 我想使用git-filter-branch而不是git-subtree,因为我还想删除新分支中的一些文件,但我担心此保证(适用于git-subtree)可能对git-filter-branch无效: 完全相同历史的反复分裂是必然的 相同(即生成相同的提交ID)。因此,如果 添加新提交,然后重新拆分,新提交将 在上次生成的历史记录之上附加为提交,所以 “gi

这两个命令之间有什么区别吗

git subtree split --prefix=some_subdir -b some_branch

我想使用
git-filter-branch
而不是
git-subtree
,因为我还想删除新分支中的一些文件,但我担心此保证(适用于
git-subtree
)可能对
git-filter-branch
无效:

完全相同历史的反复分裂是必然的 相同(即生成相同的提交ID)。因此,如果 添加新提交,然后重新拆分,新提交将 在上次生成的历史记录之上附加为提交,所以 “git合并”和好友将按预期工作


filter branch
绝对不会提供任何这样的保证,因此使用它时,您肯定是站在希望的一边。但是子目录筛选器具有完全可复制的结果,
筛选器分支
不涉及提交信息(提交和作者时间戳和人员)。由于这是创建提交sha所依据的信息,
筛选器分支应再次生成相同的历史记录


只要
过滤器分支
不开始做出任何保证,您就可以得到这些,这似乎不太可能。

我将删除我的答案。当我有更多的信息时,我会转发。我希望我们有一个答案。
git filter-branch --subdirectory-filter some_subdir some_branch