我有一个项目,用于在路径中包含子模块mysubmodule.我从源代码(1.8.3-rc2)安装了最新的Git并运行git submodule deinit mysubmodule.然后我删除了.gitmodules文件并提交了更改.我还.git从mysubmodule文件夹中删除了该目录.
我现在想mysubmodule直接将文件提交到我的仓库,但是git说没有变化.如果我输入git add mysubmodule它什么都不做.如果我输入git add mysubmodule/file.txt它说fatal: Path 'mysubmodule/file.txt' is in submodule 'mysubmodule'
我还发现,如果您查看一个新版本的repo,它会创建一个mysubmodule目录,尽管没有.gitmodules文件.跑步git submodule init会给你一个No submodule mapping found in .gitmodules for path 'mysubmodule'错误.
我该如何解决?
我想克隆一个 git 存储库 [1],其中定义了一个子模块.gitmodules:
[submodule "PointInCircle"]
path = PointInCircle
url = https://github.com/midas-journal/midas-journal-843
Run Code Online (Sandbox Code Playgroud)
遵循这些问题[2-4],我尝试了:
$ git clone --recursive https://github.com/midas-journal/midas-journal-851
Run Code Online (Sandbox Code Playgroud)
如果我理解submodule正确(显然我没有理解),那么内部应该有一个midas-journal-851名为的目录PointInCircle,其中克隆了第二个存储库。但是,没有PointInCircle创建任何目录,并且据我所知,代码没有克隆到任何地方。为了更好地衡量,我也尝试过......
$ git submodule init
$ git submodule update
Run Code Online (Sandbox Code Playgroud)
...也...
$ git submodule update --init --recursive
Run Code Online (Sandbox Code Playgroud)
...和...
$ git submodule foreach --recursive git submodule update --init
Run Code Online (Sandbox Code Playgroud)
...在克隆的目录中。每个命令运行时都不向控制台打印任何内容,并且我在目录中没有看到任何更改。
有什么想法我做错了吗?
[1] https://github.com/midas-journal/midas-journal-851
[2]克隆包含所有子模块的 git 存储库
[3]如何“git clone”包括子模块?
[4] 'git 子模块更新 --init --recursive' VS 'git 子模块 foreach --recursive git 子模块更新 --init'