相关疑难解决方法(0)

如何删除子模块?

如何删除Git子模块?

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

git git-submodules

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

添加Git子模块时如何指定分支/标记?

git submodule add -b工作怎么样?

添加具有特定分支的子模块后,新的克隆存储库(之后git submodule update --init)将处于特定提交,而不是分支本身(git status在子模块上显示"当前不在任何分支上").

我无法找到任何信息.gitmodules.git/config关于子模块的分支或任何具体的承诺,那么,如何Git的数字出来?

此外,是否可以指定标签而不是分支?

我正在使用1.6.5.2版.

git git-submodules

698
推荐指数
10
解决办法
46万
查看次数

.gitmodule中没有为非子模块的路径找到子模块映射

我有一个子模块的项目 lib/three20

我的.gitmodule文件看起来像这样:

[submodule "lib/three20"]
    path = lib/three20
    url = git://github.com/facebook/three20.git
Run Code Online (Sandbox Code Playgroud)

我过去克隆过这个没有错误,(git submodule init接下来是a git submodule update)并且它已经工作了一段时间.

我试图将其克隆到一台新机器,现在我收到此错误git submodule init:

No submodule mapping found in .gitmodules for path 'Classes/Support/Three20'
Run Code Online (Sandbox Code Playgroud)

该路径只是Xcode中的一个空文件夹,用于存放其他目录中的项目.它不是.gitmodules文件的一部分,所以我看不到它从哪里获得这条路径.

有任何想法吗?

git git-submodules

311
推荐指数
9
解决办法
23万
查看次数

git子模块更新

我不清楚以下是什么意思(来自git submodule update docs):

...将使子模块HEAD分离,除非--rebase--merge指定...

怎么--rebase/ --merge改变事情?

我的主要用例是有一堆中央存储库,我将通过子模块嵌入到其他存储库中.我希望能够改进这些中央回购,直接在他们的原始位置,或从他们的嵌入回购(通过子模块使用它们的那些).

  • 从这些子模块中,我可以创建分支/修改并使用推/拉,就像我在常规回购中一样,或者有什么需要谨慎的吗?
  • 我如何将子模块引用的提交从say(tagged)1.0提升到1.1(即使原始repo的头部已经是2.0),或者选择使用哪个分支的提交?

git git-submodules

233
推荐指数
4
解决办法
23万
查看次数

如何将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 repo时,其中一个子模块位于一个带有奇怪名称的分支中,我认为这意味着它有一个" 分离头 "(我甚至不确定这意味着什么).

如果我检查我的主分支的子模块,然后运行" git submodule update --init --recursive"它再次发生.

有人知道发生了什么吗?

git

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

如何公开使用子模块,但是在本地使用符号链接到单个克隆?

我有我的第一个Git Submodule体验.

我有一些项目依赖于同一个子项目.我保持这些项目同步,所以我使用"子模块分支"功能(例如git submodule add -b master [URL]).

虽然我希望公共GitHub存储库传达子模块关系,但在我自己的工作流程中,我真的只想在我的磁盘上有一个共享代码库的克隆.我想我可以设置子模块,然后用符号链接做一个切换器.但是当我这样做时,我得到了这个:

On branch master
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)

    typechange: draem
Run Code Online (Sandbox Code Playgroud)

所以Git显然认为它是一个符号链接,而不是跟随目录.

是否有任何工作流程,我似乎可以使用子模块,但我的本地文件系统上只有一个克隆?

git symlink git-submodules

23
推荐指数
2
解决办法
3378
查看次数

将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万
查看次数

GitHub包含来自另一个存储库

我是github的新手.

我的机器上有一个github仓库.我想在我的回购中加入另一个回购(作为第三方).我相信我应该先做一个分叉.但是如何将它包含在我的本地回购中呢?

我尝试了子模块,但没有成功......

谢谢.

git github

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

无法从Git仓库中删除子模块

我有一个Git仓库中的子项目,我想删除但是我无法删除.在GitHub Web界面上,子模块显示为黑色(或灰色)文件夹图标,不可单击.

git repo中的子模块

该文件夹存在一些问题,即使我的本地代码在该文件夹中有文件并且我推送到我的存储库,更改也不会应用于GitHub远程.不知何故,此文件夹被忽略.我检查过它不在.gitignore文件中.

在尝试删除我使用的子项目时:

git submodule deinit submodule-name
Run Code Online (Sandbox Code Playgroud)

但它给出了错误

错误:pathspec'submodule-name'与git已知的任何文件都不匹配.你忘了'git add'吗?

这是什么问题?

git github git-submodules

11
推荐指数
2
解决办法
9053
查看次数

标签 统计

git ×10

git-submodules ×8

github ×2

symlink ×1