Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用';git子模块';?_Git_Version Control_Git Submodules - Fatal编程技术网

如何使用';git子模块';?

如何使用';git子模块';?,git,version-control,git-submodules,Git,Version Control,Git Submodules,如何为特定的标记或提交添加Git子模块 步骤1:添加子模块 git submodule add git://some_repository.git some_repository 步骤2:将子模块修复为特定提交 默认情况下,新的子模块将跟踪主分支的负责人,但它不会在您更新主存储库时更新。要更改子模块以跟踪特定的提交或不同的分支,请将目录更改为子模块文件夹并切换分支,就像在普通存储库中一样 git checkout -b some_branch origin/some_branch

如何为特定的标记或提交添加Git子模块

步骤1:添加子模块

   git submodule add git://some_repository.git some_repository
步骤2:将子模块修复为特定提交

默认情况下,新的子模块将跟踪主分支的负责人,但它不会在您更新主存储库时更新。要更改子模块以跟踪特定的提交或不同的分支,请将目录更改为子模块文件夹并切换分支,就像在普通存储库中一样

   git checkout -b some_branch origin/some_branch
$ cd submodule
$ git checkout v2.0
Previous HEAD position was 5c1277e... bumped version to 2.0.5
HEAD is now at f0a0036... version 2.0
现在,子模块固定在开发分支上,而不是主模块的负责人


从。

子模块存储库处于指向特定提交的分离头状态。更改提交只涉及签出不同的标记或提交,然后将更改添加到父存储库

   git checkout -b some_branch origin/some_branch
$ cd submodule
$ git checkout v2.0
Previous HEAD position was 5c1277e... bumped version to 2.0.5
HEAD is now at f0a0036... version 2.0
父存储库上的git status现在将报告一个脏树:

# On branch dev [...]
#
#   modified:   submodule (new commits)

添加子模块目录并提交以存储新指针。

更容易使用
git submodule Add-b some\u分支git://some_repository.git 一些存储库
目前看来,
git子模块add-b
不能接受标记或sha1hash。它只能接受一个分支。Git问题跟踪器中是否存在此问题?有人能帮我们发个网址吗?谢谢。@colan报告错误的说明在。但是
-b
支持分支而不是标记或提交shas是一个特性,不是一个bug(事实上
-b
-branch
的缩写)。经过这么多年,他们仍然没有一个公开的问题跟踪器。在我用一个子模块的特定分支/版本提交了父回购协议后,其他人将来能签出相同版本的子模块吗?或者,它们必须再次手动指定?@QZHua:我自己也做过这样的实验,当父模块被克隆时,子模块的提交ID似乎被保留了下来。现在我们进入了黑暗区。。。。。我可以承诺我的本地git,。。。。但也许不会推到原点。。。。这可能会让这件事变得不可收拾。。。。。经验告诉我们。。。。。当心!如果子模块发生了很大的变化,则可能会导致错误的重复