将GIT存储库子文件夹克隆到具有相同文件夹结构的现有Repo中

将GIT存储库子文件夹克隆到具有相同文件夹结构的现有Repo中,git,github,Git,Github,存储库(A) MAIN。/repository\u A/ 。/repository\u A/some\u目录/some\u文件 存储库(B) MAIN。/repository\u B/ 。/repository\u B/SRC/some\u目录/some\u文件 存储库结构与存储库结构相同, 除了/SRC/目录之外,因为存储库的主目录有一个.gitmodules文件,所以该目录已就位。 最终目标是将/repository\u B/SRC/目录的内容克隆/合并到/repository\u A/根目

存储库(A)

MAIN
。/repository\u A/

。/repository\u A/some\u目录/some\u文件

存储库(B)

MAIN
。/repository\u B/

。/repository\u B/SRC/some\u目录/some\u文件

存储库结构与存储库结构相同, 除了/SRC/目录之外,因为存储库的主目录有一个
.gitmodules
文件,所以该目录已就位。

最终目标是将
/repository\u B/SRC/
目录的内容克隆/合并到
/repository\u A/
根目录中-文件夹结构相同,因此,我们需要写入存储库A的现有文件夹-例如,将
存储库B/SRC/includes
目录的内容写入
存储库A/includes

这项任务的背后是我有一个模块化系统,它是repository_a,通过repository_B表示的模块进行扩展


另一个完成这项工作的选项是将
mv
存储库A
放入另一个目录,这样文件夹结构与
存储库B
相同,您不需要git克隆,但需要git合并

  • 我会将存储库A的文件夹结构与存储库B相匹配,即创建/SRC/folder以匹配存储库B
  • git提交/推送存储库的新结构
  • 如果要将存储库B合并到存储库A中:

    cd path/to/repo-A
    git remote add repo-a path/to/repo-B
    git fetch repo-B
    git merge repo-B/master # or whichever branch you want to merge
    git remote remove repo-B
    

  • 参考资料:

    您不需要进行git克隆,但需要进行git合并

  • 我会将存储库A的文件夹结构与存储库B相匹配,即创建/SRC/folder以匹配存储库B
  • git提交/推送存储库的新结构
  • 如果要将存储库B合并到存储库A中:

    cd path/to/repo-A
    git remote add repo-a path/to/repo-B
    git fetch repo-B
    git merge repo-B/master # or whichever branch you want to merge
    git remote remove repo-B
    

  • 参考资料:

    Great-有什么要做的跟踪回购吗?如果你想,在回购合并的地方创建一个标签,如:
    git tag v1.0
    然后推你的标签
    git push origin--tags
    。Great-有什么要做的跟踪回购吗?如果你想,在repo_B中合并的位置创建一个标签,如下所示:
    git tag v1.0
    然后推送标签
    git推送原点--tags