gpt4 book ai didi

Git 子树 merge 策略 - 设置本身如何跨克隆进行?

转载 作者:太空狗 更新时间:2023-10-29 14:13:46 26 4
gpt4 key购买 nike

当其他人克隆您的存储库,其中包含使用 merge 策略创建的子树时,更新子树所需的远程不存在。需要完成子树设置的哪些步骤(以 https://help.github.com/articles/working-with-subtree-merge 为例)才能使子树更新在克隆后正常工作?

最佳答案

要从上游显式且独立地更新子树,您需要按照您的指示重新添加 Remote 。在新的克隆仓库中:

$ git remote add -f <subtree-repo> <subtree-repo-url>
$ git pull -s subtree <subtree-repo> <branch>

对于您提供的链接,它应该是,

$ git clone /Users/tekkub/tmp/test my-test-clone
$ cd my-test-clone
$ git remote add -f cork git://github.com/TekNoLogic/Cork.git
$ git pull -s subtree cork master

您还可以使用 git 上最新版本支持的 git subtree pull


问题中的依赖场景并不清楚,但您也可以简单地 pull 您克隆的 repo 以获取所有子树更新:

(repo1)
(repo2 [subtree: repo1]) -- clone --> (repo3)

repo1 $ git commit ...
repo2 $ git pull -s subtree ...
repo3 $ git pull

所以当 repo2repo1 更新时,你可以简单地在 repo3git pull 你会得到所有它的 promise 。并且只有当你打算切断 repo3repo2 之间的依赖关系时,你才应该使用分界线上方的命令,否则如果你都 pullpush upstream 和 pull -s subtree 很容易陷入频繁的令人不快的 merge 。

关于Git 子树 merge 策略 - 设置本身如何跨克隆进行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20777147/

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