Git 子树前缀路径

ara*_*ran 8 git github git-subtree

我有 GIT 子树的问题。

让我们看看,我有一个项目 A,其中包括:

Project A
|_CodeFolder1
|_CodeFolder2
|_SharedFolder1
|_SharedFolder2
Run Code Online (Sandbox Code Playgroud)

假设我创建了一个只有SharedFolder1SharedFolder2的新存储库。所以我从主存储库中删除了这两个文件夹,并将它们添加到新的共享存储库中,如下所示:

SharedProject
|_SharedFolder1
|_SharedFolder2
Run Code Online (Sandbox Code Playgroud)

我是子树的新手,但到目前为止我实现了从远程子树拉/推。但是我遇到了问题。添加子树时,必须添加前缀,但我不想将共享代码保存在不同的文件夹中,例如:

Project A
    |_CodeFolder1
    |_CodeFolder2
    |_SharedFolders
             |_SharedFolder1
             |_SharedFolder2
Run Code Online (Sandbox Code Playgroud)

--prefix每当我尝试添加子树时,这就是什么:

git subtree add --prefix=SharedFolders --squash shared master
Run Code Online (Sandbox Code Playgroud)

有什么办法可以告诉 git 没有前缀,或者子树必须直接保存在 ProjectA 中,就像在第一个模式中一样,而无需为子树创建新文件夹?

我试过这个命令

git subtree add --prefix=/ --squash shared master
Run Code Online (Sandbox Code Playgroud)

但总是有错误。似乎子树不允许我将树中的文件夹直接带到我的工作路径而不为共享文件创建新文件夹。

任何帮助将非常感激。

ara*_*ran 7

好的,我得到了答案。正确的语法是:

git subtree add --prefix= --squash shared <branch>
Run Code Online (Sandbox Code Playgroud)

和拉:

git subtree pull --prefix=/ --squash shared <branch>
Run Code Online (Sandbox Code Playgroud)