相关疑难解决方法(0)

如何将Git中的文件添加到以前的子模块的路径中?

我有一个项目,用于在路径中包含子模块mysubmodule.我从源代码(1.8.3-rc2)安装了最新的Git并运行git submodule deinit mysubmodule.然后我删除了.gitmodules文件并提交了更改.我还.gitmysubmodule文件夹中删除了该目录.

我现在想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 git-submodules

66
推荐指数
1
解决办法
2万
查看次数

递归克隆 git repo 不会拉取子模块

我想克隆一个 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'

git git-submodules

5
推荐指数
1
解决办法
3796
查看次数

标签 统计

git ×2

git-submodules ×2