同一目录中的两个不同Git repo

同一目录中的两个不同Git repo,git,Git,我想维持两种不同的git回购。repo应保持在同一根目录中。如何实现 我愿意做的是:管理两个略有不同的回购协议。我可以在同一个文件夹中有两个完全不同的回购协议吗 感谢您的关心:)您可以通过在git命令本身上使用以下两个选项之一添加来实现这一点: git --work-tree=where/my/code/is --git-dir=some/path/to/my/.git status 这将允许两个独立的回购协议共享同一个工作文件夹 然而,通过使用一个回购协议和多个分支,您应该能够得到您所需要的

我想维持两种不同的git回购。repo应保持在同一根目录中。如何实现

我愿意做的是:管理两个略有不同的回购协议。我可以在同一个文件夹中有两个完全不同的回购协议吗


感谢您的关心:)

您可以通过在git命令本身上使用以下两个选项之一添加来实现这一点:

git --work-tree=where/my/code/is --git-dir=some/path/to/my/.git status
这将允许两个独立的回购协议共享同一个工作文件夹


然而,通过使用一个回购协议和多个分支,您应该能够得到您所需要的,并且可能只将某些分支推送到多个远程。

我解决了这个问题,而git似乎并没有提供一个很好的解决方案,通过不使用git来解决它。我使用链接将新子文件夹链接到父文件夹的子文件夹(即,将子文件夹链接到“叔叔文件夹”:P)。Windows Vista及以上版本的命令提示符示例:

cd CurrentFolder/
mklink /J "LinkedFolder" "../TargetFolder"
将导致LinkedFolder指向TargetFolder(注意引号)。然后我将使用的示例文件结构:

  • 根/
    • 目标文件夹/
      • 共享文件
    • 当前文件夹/
      • 链接文件夹/

它工作得非常出色(注意:以下内容来自我自己的Windows 8.1测试):

  • 在调用
    mklink
  • 创建链接时,对TargetFolder或LinkedFolder中的文件所做的任何操作都将反映在另一个文件夹中,因为它们是一个相同的文件夹
  • 如果删除链接(LinkedFolder),实际目标文件夹(TargetFolder)不会发生任何变化
  • 如果删除实际目标文件夹(TargetFolder),链接将保持活动状态(不会被删除);如果你试图访问链接,你只会得到一个错误;如果再次重新创建实际的目标文件夹(TargetFolder),链接将一如既往地工作
希望这对别人有帮助。我刚刚了解了这个功能,我喜欢它

另请参见:




第一篇文章中可能重复的和、和、和……并没有确切地解决这个问题。它解决的是子模块化。我想问的是:我能基于相同的源文件创建两个单独的回购协议吗?如果你是从谷歌来的:上面评论中的4个可能的重复地址是子模块或分支。下面接受的答案有一个不同的解决方案,在同一个目录中有两个完全不相关的回购协议。可能是重复的Yup,我可能最终只会有多个分支推送选定的早午餐。我还制作了一个脚本,可以更容易地处理重叠回购协议,也可以用作包管理器: