USB驱动器上的便携式Git存储库,子模块设置

USB驱动器上的便携式Git存储库,子模块设置,git,Git,我在我的美国硬盘上创建了一个裸回购,使用 git init --bare M:\usb_repo 在我的本地repo上,我添加了usb repo和一个额外的远程使用 git remote add usb M:/usb_repo 我可以从本地系统推/拉到便携式回购,我可以将便携式回购带到另一个系统,然后从便携式回购结账。我的问题是子模块。我使用的repo I使用子模块,我不确定在使用便携式repo时如何处理它们。我想,也许进入本地子模块文件夹/repo,执行与远程设备相同的添加usb的过程会起

我在我的美国硬盘上创建了一个裸回购,使用

git init --bare M:\usb_repo
在我的本地repo上,我添加了usb repo和一个额外的远程使用

git remote add usb M:/usb_repo
我可以从本地系统推/拉到便携式回购,我可以将便携式回购带到另一个系统,然后从便携式回购结账。我的问题是子模块。我使用的repo I使用子模块,我不确定在使用便携式repo时如何处理它们。我想,也许进入本地子模块文件夹/repo,执行与远程设备相同的添加usb的过程会起作用,但显然不行


有没有具体的方法可以做到这一点?

如果在父存储库的
.gitmodules
文件中注册的子模块引用外部公共存储库URL,则您无需执行任何操作

如果有引用其他本地存储库,那么我将使用7

  • 与主回购相同的绝对路径(
    M:\myProject1.git/
    ,作为裸存储库)
  • 或相对URL(但在您的情况下,最好是外部驱动器的绝对路径)

@VonC的答案很好。我只想添加:在我的
.gitmodules
中,我说
url=../otherrepo.git
。当repo位于远程时,它会从同一远程获取模块;当repo位于驱动器或其他本地路径时,它会从兄弟目录获取模块,这应该适合您。小评论:我会调用repo
M:\usb\u repo.git
,以便在遇到它时更清楚地了解它的本质,我想我理解,但我对我的
.gitmodules
所包含的内容有点困惑。所讨论的子模块是外部的,但在.gitmodules文件中,为每个子模块列出的url类似于
url=../../name.git
这应该指向远程的外部url吗?在
config
文件的modules和module name下的root
.git
文件夹中,它确实列出了远程源url,这是我期望外部repo的url。位于usb上的便携式git repo将用于帮助断开连接的系统。@n1th6子模块的URL可以引用远程或本地存储库。在您的情况下,一个存储在本地的裸存储库,位于../。。