git 仓库嵌套中出现的subproject是什么?

发布于 2022-09-06 15:53:50 字数 1444 浏览 16 评论 0

我有两个git 仓库,分别为仓库A和仓库B ; 仓库A的根目录为: myscript/ 由于仓库A 要引用仓库B ,通过git clone 命令,我将仓库B放置到仓库A的一个子目录:myscript/forsubmodule/中。

cd myscript/forsubmodule/
git clone   remote-server/iconfig.git

仓库B的git根目录为: myscript/forsubmodule/iconfig
然后我在myscript/forsubmodule/iconfig 中修改了仓库B的代码,然后运行git diff 命令,发现有如下提示信息:

[root@xxx myscript]# git diff
diff --git a/forsubmodule/iconfig b/forsubmodule/iconfig
index 35d2500..e407b8e 160000
--- a/forsubmodule/iconfig
+++ b/forsubmodule/iconfig
@@ -1 +1 @@
-Subproject commit 35d250040769e2aa061767d0bc9bd84337b4e03a
+Subproject commit e407b8e1e17ae485d03ee43830baeed5560e727f

我不明白提示信息里的Subproject 是什么意思?是指的submodule吗? 但我没有执行任何git submodule 命令啦?

然后,我执行 git status , 发现输出的提示信息也和修改普通的文件给出的提示信息不一样,如下:

[root@xxx myscript]# git status
# On branch master
# Your branch is ahead of 'origin/master' by 2 commits.
#   (use "git push" to publish your local commits)
#
# 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:   forsubmodule/iconfig (new commits)
#

modified 这行后面有个“(new commits)” , 且也没有显示我修改的文件名,仅仅显示的iconfig 目录名 。 有人说这是git 的submodule ,但是我们没有执行任何 git submodule 命令, 我仅仅是在仓库A 中使用git clone 拉了仓库B到本地,然后修改了仓库B的代码而已。
难道是git 会自动为嵌套的git仓库应用submodule? 请高人指点!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文