使用命令
例如,在执行
submodule --remote
更新子模块将拉取子模块的HEAD,而不是包含在Git仓库中的哈希记录。但似乎包装Git仓库将继续管理其内部的哈希值,从而不必要地引入了噪音到自身的历史记录中。例如,在执行
submodule update --remote
后,将会在包装项目中引入一个变更,具体如下:Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: <module-name> (new commits)
在包含子模块的git仓库中,是否可能不包含任何哈希或有关子模块哈希的信息,以使submodule update
不会引入需要新提交并且不会反映在项目历史记录中的需求?
动机场景:
这将解决一个工作流问题,可以描述为“始终使用所有子模块的最新版本”,目前每次submodule update
后都需要进行特殊管理(提交或以某种方式从历史记录中删除上述更改记录...当您只想始终使用最新版本时,这使得工作流程非常混乱)。
--branch
只是用来指定默认的origin/master
以外的分支。但它是git submodule update --remote
功能的一部分。 - VonC