相关疑难解决方法(0)

如何删除子模块?

如何删除Git子模块?

顺便说一句,有什么理由我不能干脆做到 git submodule rm whatever吗?

git git-submodules

3366
推荐指数
31
解决办法
83万
查看次数

重命名git子模块

是否有一些简单的方法来重命名git子模块目录(除了完成删除它并重新添加新目标名称的整个动作 ).

虽然我们在这,但为什么我不能在父目录中执行以下操作: git mv old-submodule-name new-submodule-name

git git-submodules

137
推荐指数
6
解决办法
4万
查看次数

Git不会初始化/同步/更新新的子模块

这是我.gitmodules文件内容的一部分:

[submodule "src/static_management"]
        path = src/static_management
        url = git://github.com/eykd/django-static-management.git
[submodule "external/pyfacebook"]
        path = external/pyfacebook
        url = http://github.com/sciyoshi/pyfacebook.git
Run Code Online (Sandbox Code Playgroud)

但是,.git/config只包含第一个:

[submodule "src/static_management"]
        url = git://github.com/eykd/django-static-management.git
Run Code Online (Sandbox Code Playgroud)

第二个子模块(external/pyfacebook)由功能分支中的另一个开发人员添加.我现在继承了开发,并检查了功能分支.但是,Git不会为我拉这个子模块.我试过了:

  • git submodule init
  • git submodule update
  • git submodule update --init
  • git submodule sync
  • 从中删除所有子模块定义.git/config并运行git submodule init.它只复制先前存在的子模块并忽略新的子模块.
  • .git/config手动输入新的子模块定义并运行git submodule update.只有以前存在的子模块才能更新.

在各种组合中,但是git根本不会.git/config根据新内容进行更新.gitmodules,也不会创建external/pyfacebook文件夹并拉出子模块的内容.

我错过了什么?手动干预(手动添加子模块条目.git/config)是否真正需要,为什么?

编辑:手动干预不起作用.手动添加新的子模块条目.git/config不会做任何事情.新的子模块被忽略.

git git-submodules

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

将git子模块移动到另一个目录后,它失败,并且子模块中出现错误'git status --porcelain'失败

最初我有以下(简化)回购结构:

MyRepo
   external1/MySub (git submodule)
   .gitsubmodules
Run Code Online (Sandbox Code Playgroud)

哪里

$ cat .gitsubmodules

  [submodule "external1/MySub"]
  path = external1/MySub
  url = user@repo:/remoterepo/externals/MySub.git
Run Code Online (Sandbox Code Playgroud)

然后我想将MySubmodule移动到同一个git存储库中的另一个目录,例如external2,所以结构如下:

MyRepo
   external2/MySub (git submodule)
   .gitsubmodules
Run Code Online (Sandbox Code Playgroud)

我做了什么,并且已经足够了,我只是将(通过操作系统mv)external1/MySub目录移动到external2/MySub并将.gitsubmodules文件编辑为:

$ cat .gitsubmodules

  [submodule "external2/MySub"]
  path = external2/MySub
  url = user@repo:/remoterepo/externals/MySub.git
Run Code Online (Sandbox Code Playgroud)

在此更改后,我收到以下错误:

$ git status

  fatal: Could not chdir to '../../../../../repo/external/MySub': No such file or directory
  fatal: 'git status --porcelain' failed in submodule repo/external2/MySub
Run Code Online (Sandbox Code Playgroud)

我错过了什么?这种搬迁需要做出任何其他改变吗?

(我在Windows 8.1上使用git版本1.8.3rc3)

git git-submodules

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

`--name`选项不适用于`git submodule add`命令

我想添加一个不同名称的git子模块,如:

git submodule add --name foo git@bitbucket.org:ironsand/cookbook-foo.git
Run Code Online (Sandbox Code Playgroud)

我想创建一个名为的git子模块目录foo,但是使用名称创建存储库cookbook-foo.

我很可能做错了什么,但我不知道出了什么问题.

如何更改git子模块目录的名称?

git

18
推荐指数
1
解决办法
8022
查看次数

如何将Git子模块移动到子目录?

伙计们,我只是使用子模块来组织一些Git repos,这里是地址: repos

我想将所有子模块移动到一个名为repos的新目录中,例如,jquery - > repos/jquery.

我更改.gitmodules文件,但似乎不起作用.我该怎么办?

git git-submodules

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

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 move git-submodules

9
推荐指数
1
解决办法
4525
查看次数

标签 统计

git ×8

git-submodules ×7

git-mv ×1

move ×1