我们使用git子模块来管理一些依赖于我们开发的许多其他库的大型项目.每个库都是作为子模块引入依赖项目的单独repo.在开发过程中,我们经常想要抓住每个依赖子模块的最新版本.
git有内置命令来执行此操作吗?如果没有,Windows批处理文件或类似文件怎么样呢?
我怎样才能git push不仅推送到origin另一个远程存储库?
因为git push它只是一个别名git push origin,我可以将git push命名为同时推送到2个远程存储库(只用那个命令)吗?
我不是在寻找一个非git脚本,但是想在git中为我的本地存储库设置它.
当我用推后脚本尝试它时,我失败了.
我第一次使用 git 子模块。努力理解如何全面创建分支并将它们添加到所有远程存储库中。
目前我的文件结构类似于以下内容:
-parent_repo
|
|_ submodule_1
|_ submodule_2
|_ submodule_3
|_ submodule_4
|_ submodule_5
|_ submodule_6
|_ submodule_7
Run Code Online (Sandbox Code Playgroud)
如果我在父仓库上创建一个分支:
(master) $ git checkout -b feature/my_feature
(feature/my_feature) $ git commit -m "created my_feature"
(feature/my_feature) $ git push -u origin feature/my_feature
Run Code Online (Sandbox Code Playgroud)
我想在包括父模块在内的所有子模块中创建一个分支。之后,所有分支都被远程推送到每个子模块及其受尊重的存储库。
尝试了以下步骤:
$ git submodule foreach -b branch_name
$ git push --recurse-submodules=on-demand
$ git submodule foreach "(git checkout branch_name; git pull)&"
Run Code Online (Sandbox Code Playgroud)
..只是失败了。找不到第一个命令。
..如果我这样做:
$ git config -f .gitmodules submodule.submodule_1.branch branch_name
$ git submodule update --remote
Run Code Online (Sandbox Code Playgroud)
git 返回:
fatal: Needed …Run Code Online (Sandbox Code Playgroud)