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

  • 本文关键字:文件夹 存储 结构 GIT git github
  • 更新时间 :
  • 英文 :


Repository A(

主要../repository_A/

../repository_A/some_directory/some_files

存储库 B(

主要../repository_B/

../repository_B/SRC/some_directory/some_files

repository_B结构与repository_A结构相同, 除了/SRC/目录,该目录是因为 repository_B 的主目录有一个.gitmodules文件。

最终目标是将/repository_B/SRC/目录的内容克隆/合并到/repository_A/根目录 - 文件夹结构相同,因此我们需要写入repository_A的现有文件夹 - 例如将repository_B/SRC/includes目录的内容写入repository_A/includes

任务的背后是我有一个模块化系统,该系统repository_A通过repository_B表示的模块进行扩展。

也可以完成这项工作的另一个选项是mv repository_A到另一个目录中,以便文件夹结构与repository_B相同。

你不需要 git clone,但你需要一个 git merge。

  1. 我会将存储库 A 的文件夹结构与存储库 B 匹配,即创建/SRC/文件夹以匹配存储库 B。
  2. git 提交/推送存储库的 A 的新结构。
  3. 如果要将存储库 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 存储库?

最新更新