我有一个由几个git子模块组成的git存储库。如果我想更新工作存储库的子模块,则涉及:
当我们拉出子模块更新时,“git status”将显示子模块文件夹的修改状态。因此,执行git add和commit以使修改后的状态消失似乎是有效的。
为什么我们需要像上面那样提交本地工作存储库的子模块文件夹?
我们应该在提交后将更改推送到原点吗?
想象一下,如果我们推动更改,其他谁将需要再次“git add”和“git commit”。这似乎是一个无限循环。
答案 0 :(得分:2)
如果你想更新子模块,你必须在“git pull origin master”之后调用“git submodule update”(如描述here)
然后存储库不再处于脏状态。
答案 1 :(得分:0)
这可能是因为您的本地存储库有一些更改。当您pulled
时,它可能与您所做的更改合并。如果它们是相关的,那么推回你的改变是有意义的。
检查是否有干净的存储库,这不应该发生。