gpt4 book ai didi

git - 如何创建现有存储库的 gitsubtree?

转载 作者:太空狗 更新时间:2023-10-29 12:47:01 33 4
gpt4 key购买 nike

我正在尝试创建现有存储库的 gitsubtree,例如:

->项目A/项目B

项目 A 是父项目,我想将项目 B 添加为 git 子树。

git subtree -P projectB ssh://git@github.com/projectB.git master

但它失败了,并显示以下消息:

prefix 'projectB' already exists.

我不想再次下载所有存储库,我只想将此目录添加到我的 gitsubtree。

此目录项目 B 未被项目 A git 跟踪。

提前致谢

最佳答案

您可以使用 vanilla git 添加 projectB 作为 projectA 的子树(您不需要 git subtree)。

cd projectA
git remote add projectB_remote git@github.com/projectB.git
git fetch projectB_remote
git checkout -b projectB_branch projectB_remote/master
git checkout master
git read-tree --prefix=projectB/ -u projectB_branch

解释

  1. 输入本地 projectA 存储库。
  2. 使用 projectB 的 url 添加一个名为 projectB_remote 的新 Remote 。
  3. 在不 merge 的情况下获取 projectB_remote
  4. 创建并 checkout 一个projectB_branch;引入 projectB_remote/master 文件。
  5. 返回projectA/master
  6. projectA/master 中创建一个子树,其中包含 projectB_branch 的 checkout 。

结果目录结构

projectA
projectB
other.txt
project.txt
A.txt
files.txt

参见 http://www.git-scm.com/book/en/v1/Git-Tools-Subtree-Merging

关于git - 如何创建现有存储库的 gitsubtree?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17842966/

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