从本地存储库初始化git子模块,然后从远程更新

时间:2015-08-17 15:48:34

标签: git github deployment

我正在进行部署,首先克隆先前的版本,然后再从远程仓库更新版本。当涉及子模块时,这会变得棘手。主回购的处理方式如下:

git clone /path/to/local/.git /path/to/new/release
git remote set-url origin <my remote repo>

这样后续调用git pull将使用远程仓库。对于repo中的子模块,我想做的是同样的事情。在伪代码中:

git submodule foreach 'git clone each submodule from local repo'
git submodule foreach 'git pull from remote repo'

我已经阅读了相关内容,似乎无法绕过它。提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

执行此操作的方法是在克隆命令中:

return ifNotNull<string>(firstAddress, new Func<dynamic, string>((a) => a.address_1), null);

这将确保在初始克隆时,我们从本地仓库获取。然后,如果您正确设置了git clone --recursive --config submodule.<name>.url=/path/to/local/repo ,则后续拉动将来自远程仓库。