在我的代码库中,我通过以下方式添加了一个子模块:
现在,每当我听到子模块有更新(远程更新)时,我会进行以下操作:
git submodule add -b master https://something.something.git something
现在,每当我听到子模块有更新(远程更新)时,我会进行以下操作:
git submodule update --remote
子模块已在本地更新。如果我在其他地方克隆我的仓库,我可以立即获取子模块的最新状态。
但是,如果我更新了子模块后在存储库上运行git status
,我会得到以下提示:
$ git status
On branch master
Your branch is up-to-date with 'origin/master'.
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)
(commit or discard the untracked or modified content in submodules)
modified: something (new commits, modified content)
no changes added to commit (use "git add" and/or "git commit -a")
即使我在追踪最新的分支,为什么还需要提交子模块中发生的更改呢?正如我所说,如果我在其他地方克隆该存储库,我会立即获取更新后的子模块,那么这个状态消息是关于什么的?
有没有办法让git忽略对子模块进行的更改?