相关疑难解决方法(0)

如何在Git存储库中移动现有的Git子模块?

我想在我的Git超级项目中更改Git子模块的目录名.

假设我的.gitmodules文件中有以下条目:

[submodule ".emacs.d/vimpulse"]  
path = .emacs.d/vimpulse  
url = git://gitorious.org/vimpulse/vimpulse.git
Run Code Online (Sandbox Code Playgroud)

我必须键入什么来移动.emacs.d/vimpulse目录.emacs.d/vendor/vimpulse而不首先删除它(在这里这里解释 ),然后重新添加它.

Git真的需要子模块标签中的整个路径

[submodule ".emacs.d/vimpulse"]
Run Code Online (Sandbox Code Playgroud)

或者是否也可以只存储子项目的名称?

[submodule "vimpulse"]
Run Code Online (Sandbox Code Playgroud)

git git-submodules

331
推荐指数
7
解决办法
9万
查看次数

如何将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:递归移动子模块(嵌套子模块)

我有以下git结构

- git-repo a
-- subdirectory 2015
--- git-submodule b
-- git-submodule c
--- git-submodule d
Run Code Online (Sandbox Code Playgroud)

我想将git子模块c移动到文件夹2015.我知道"脏方法"这样做(涉及修改.git/config并更改.git/modules文件中的几个文件中的gitdir)

我最近读到git mv应该能够做到这一点,即运行

git mv c 2015/
Run Code Online (Sandbox Code Playgroud)

这适用于没有嵌套子模块的存储库(在我的例子中为d).但是,当我在我的目录上运行此命令时,我收到的错误就像

fatal: Not a git repository: d/../../.git/modules/c/modules/d
fatal: 'git status --porcelain' failed in submodule 2015/c
Run Code Online (Sandbox Code Playgroud)

(注意,执行上述移动后,git状态会出现此错误)

是否有人知道一个干净的方法来执行此移动(即,不涉及手动更改.git/modules文件中的路径)?

编辑:(6/10/2015)

我目前最好的解决方案是不涉及对任何git配置文件的修改(首先要确保对d的所有更改都已提交并推送到某处)

rm c/d -rf
git mv c 2015
cd 2015/c
git submodule update
Run Code Online (Sandbox Code Playgroud)

编辑:(8/10/2015)

一个更少侵入性的解决方法

git mv c 2015
rm 2015/c/d/.git
cd 2015/c
git submodule update
Run Code Online (Sandbox Code Playgroud)

编辑:(21/9/2018)

自从git版本2.19.这已得到修复,并且git mv表现如预期.

git git-submodules git-mv

13
推荐指数
1
解决办法
999
查看次数

最初只需要git子模块更新吗?

我得到了git子模块(一厢情愿的想法?),我想出更具体的问题,这是一个好兆头......

我试图找到超级项目引用的子模块的哪个版本,在.gitmodules和中.git/config,但是没有提到......
场景是我正在更改其根位置(从中导入它们)的子模块,然后将它们拉入"子模块化"的位置......
除了从超级项目中提交以将这些更改合并到超级项目仓库之外,我是否还需要git update注册新的拉入式子模块提交?

基本上问题是:

git submodule update只有当我第一次克隆超级项目时,或者每次拉动子模块(来自它自己的回购)后,我才需要" "吗?

谢谢

git-submodules

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

.gitmodules中的Git子模块未初始化

https://github.com/Uni-/shBrushesCollection

我打开了一个GitHub repo并在GitHub web源编辑器中编写了.gitmodules.当我克隆rpo时,我发现.gitmodules中的子模块没有被初始化.

我想我几乎尝试了所有命令,包括update,init,update --init等等.有没有办法使用当前的.gitmodules文件,而不是子模块添加?

git github git-submodules

4
推荐指数
1
解决办法
5583
查看次数

标签 统计

git-submodules ×5

git ×4

git-mv ×1

github ×1