gpt4 book ai didi

git - git subtree 和 git filter-branch 的区别

转载 作者:IT王子 更新时间:2023-10-29 01:05:01 26 4
gpt4 key购买 nike

这两个命令有什么区别吗?

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 无效:

Repeated splits of exactly the same history are guaranteed to be identical (ie. to produce the same commit ids). Because of this, if you add new commits and then re-split, the new commits will be attached as commits on top of the history you generated last time, so 'git merge' and friends will work as expected.

最佳答案

filter-branch 绝对不提供任何这样的保证,所以在使用它时你肯定是有希望的。但是子目录过滤器具有完全可重现的结果,并且 filter-branch 不会触及提交信息(提交和作者时间戳和人员)。由于这是创建提交 sha 的信息,filter-branch 应该再次生成相同的历史记录。

只要 filter-branch 不开始做出任何保证,这就是您所能得到的,这似乎不太可能。

关于git - git subtree 和 git filter-branch 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16633579/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com