gpt4 book ai didi

git - 如何使用 git subtree 添加本地 repo?

转载 作者:行者123 更新时间:2023-12-04 11:32:14 42 4
gpt4 key购买 nike

假设我有一个已经是 git repo“sub”的目录,现在我希望它成为我新创建的 super 目录“sup”的子树。

我已经搜索了文档,但所有的教程都是关于添加远程仓库或从现有提交中拆分的。如何将现有的 git repo 添加到主 git repo?

使用 git subtree add --prefix=sub sub会给警告子已经存在。

最佳答案

有两种方法可以做到这一点,具体取决于您的期望。

  • 添加子仓库作为子模块。 repo 保持独立
  • 添加子仓库作为这个子仓库的子树。它的历史 merge

  • 对于 1,您想使用 git 子模块。具体来说,

    在您的 sup 目录(已经用 git init 初始化)中,您运行:

    git submodule 添加子位置

    它会将子仓库克隆到 sup 仓库中。如果它位于其他地方,则您可以删除子存储库。

    请注意,子模块仍然充当与顶级存储库不同的存储库。

    请参阅子模块的文档:

    https://git-scm.com/book/en/v2/Git-Tools-Submodules

    对于2,它有点复杂。

    首先获取另一个 repo 的提交:
    # add remote
    git remote add sub
    # fetch commits
    git fetch
    # create local branch with sub
    git checkout -b sub_branch sub/master
    # switch to master
    git checkout master
    # now, merge commit as a subdirectory
    git read-tree --prefix=sub/ -u sub_branch
    以后可以继续从 sub 中 pull ,它会 merge 到 sup 中

    --dmg

    关于git - 如何使用 git subtree 添加本地 repo?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37775092/

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