我有一个带有子模块的git仓库,比如说somelib
。
我将我的工作分支somelib
重定为development
分支,并进行了一些合并
git rebase development
git pull
在那之后,我希望
git status
从根存储库中删除的somelib
子模块将以红色显示(新提交)消息,但它没有。
这怎么可能?
例如,向somelib
添加提交和执行rebase+merge有什么区别?
编辑1
git submodule status
显示根存储库指向我在somelib
中的工作分支的最新提交。
1条答案
按热度按时间oxf4rvwz1#
如果子模块被设置为与根仓库中的 recorded 不同的提交,或者有未提交的更改,则在根仓库中执行
git status
时必须看到以下内容:modified: somelib (modified content)
或modified: somelib (new commits)
如果你没有看到这一点,这意味着你认为发生了什么没有。
在执行
git rebase development
时,您在 local 开发分支上重定somelib的基。你的意思是在 remote 开发分支上重新定位吗?如果是这样,你需要做(假设远程被称为 origin):然后,您不需要执行
git pull
,因为远程分支上的所有修改现在都应该集成到somelib子模块中当前检出的分支中。现在,如果在somelib中检出的分支指向与开发分支相同的提交,则您不会修改任何内容,并且在根存储库中执行
git status
不会显示任何有关somelib的内容。