【发布时间】:2019-10-02 12:34:11
【问题描述】:
我的项目中有一个库作为 git 子模块 签出,我经常在库中进行更改。每次我提交更改时,父 repo 中的后续 git status 显示子模块已更改。我也使用__git_ps1,所以父目录提示显示有未提交的更改。
parent-project (master *) $ git diff
diff --git a/my-submodule b/my-submodule
index 5eb2e9f..fd40630 160000
--- a/my-submodule
+++ b/my-submodule
@@ -1 +1 @@
-Subproject commit 5eb2e9fdcb85ab5a1f57e622b17cc76e5af749b7
+Subproject commit fd406308851b5521980f4578960c428200c66371
我知道两种选择:
-
git commit submodule来自创建不必要提交的父级,或 - 删除并重新添加子模块,这似乎有点过头了。
有没有办法告诉父 repo 将子模块 ref 更新为最新的 master 并继续?我不想引用特定的 git 修订版,只是引用 master 的负责人或我选择的任何分支。
谢谢!
【问题讨论】:
-
我经常在库中进行更改是否必须跟踪库?如果没有,也许使用 gitignore 会有所帮助。
-
@BagusTesa 嗯,这似乎没有帮助,只是尝试过。首先
git submodule add抱怨它在.gitignore中,但这可以强制执行。但即便如此,子模块提交仍然会使父项目变脏:(
标签: git git-submodules