相关疑难解决方法(0)

子模块内部的Git子模块(嵌套子模块)

git子模块是否有可能由其他几个git子模块组成,而超级git repo可以获取每个子模块的内容?

我尝试使用显而易见的/天真的方法来创建一个包含多个子模块的git repo.

然后将此git repo添加到另一个git repo作为子模块.

然后尝试从超级git仓库的根目录拉出git submodule init然后git submodule update.但这无法获取子子模块.

git git-submodules

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

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

回顾性地添加--recursive到git repo

如果你git clone--recursive,你也可以得到所有的git子模块.

如果我忘记在克隆时添加这个神奇的旗帜,可能会发生,我现在如何去获取任何子模块?

此外,如何将递归标志设置为将来克隆的默认标志?

git version-control git-clone git-submodules

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

'git submodule init'有什么意义?

背景

要填充存储库的子模块,通常会调用:

git submodule init
git submodule update
Run Code Online (Sandbox Code Playgroud)

在这种用法中,git submodule init似乎只做一件事:填充.git/config已经存在的信息.gitmodules.

那是什么意思?

不能git submodule update简单地使用来自的信息.gitmodules?这样可以避免:

  • 一个不必要的命令(git submodule init); 和
  • 不必要的数据重复(.gitmodules内容到.git/config).

或者:

  • 有用例git submodule init我不知道(在这种情况下,请赐教!); 要不然
  • git submodule init 可以在Git中弃用而没有任何伤害.

以下哪一项是正确的?

git rationale git-submodules

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

Git - 在克隆时忘了使用--recursive

我从github克隆了一个git repo,里面有子模块.--recursive克隆时我忘了使用该选项.现在有办法拉出子模块吗?

git github

26
推荐指数
1
解决办法
3323
查看次数

Jenkins管道git命令子模块更新

我想更新git clone上的子模块.

有没有办法用Jenkins管道Git命令做到这一点?

目前我正在这样做......

git branch: 'master',
    credentialsId: 'bitbucket',
    url: 'ssh://bitbucket.org/hello.git'
Run Code Online (Sandbox Code Playgroud)

但是,一旦克隆,它就不会更新子模块

git jenkins jenkins-pipeline

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

Git:如何处理项目中的git库

我有一个Xcode项目,它本身就有Git Source Control.在Libraries文件夹中,我从GitHub克隆了另外八个Git项目.它们位于我自己的Git存储库中,我在提交中将所有这些库添加到我的git中.

而不是在我的存储库中拥有所有这些git库的代码,有没有办法让git在我的repo克隆时从他们的repo下载他们的代码?或者在项目中包含其他git repos是否正常?

git github

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

如何拉新的子模块

试图在这个网站和其他人寻找答案: StackOverflow - 简单的方法拉最新的所有子模块

他们似乎都想谈谈你是否正在控制它们,而不是如果其他人添加了一个,我只想将额外的一个添加到我的项目中,而不需要保存或备份我的更改,如果我需要删除该文件夹.

我应该删除我已经删除的.gitmodules文件和/或子模块目录git clone --recursive吗?(StackOverflow - 如何git clone包含子模块?)

这些命令似乎也没有帮助:

  • git submodule update --init --recursive 好像什么也没做.
  • git submodule update --recursive 没有.
  • git fetch --recurse-submodules输出Fetching submodule ...几次.
  • git pull --recurse-submodules输出相同的东西,然后Already up-to-date.在获取试用后说.奇怪,因为在任何一种情况下我的子模块都已下载.
  • git clone --recursive ... 尚未尝试过. 我觉得会覆盖我在Stash或其他方面做出的任何改变.
  • git submodule update --recursive --remote 检查出其中一个子模块的新提交SHA.
  • git submodule update --recursive检查出其中一个子模块的新提交SHA.可能是较旧的原始提交级别.
  • git submodule status 为每个提供适当的SHA,版本和名称信息,同时仍然缺少我想要的那个.
  • git submodule foreach git pull origin master
  • git submodule update 什么也没做.

我每次都手动仔细检查库目录,以确定是否出现了额外的子模块.

我想避免执行某些操作,除非它们对我当前包含代码更改的存储库状态没有破坏性,并解决了我的问题,以防它是我提到的但没有运行的命令,或者其他人有另一个尝试. …

git git-submodules

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

如何让`git clone --recursive`重新创建子模块的遥控器和分支?

我有一个带有一些子模块的项目.其中许多是从GitHub fork中克隆到的,我为自定义mod添加了一个分支.典型的设置如下:

在本地文件夹中:MyProject1/Frameworks/SomeAmazingRepo /

$ git branch -vva
*my-fork                       123456 [my-fork/my-fork] Latest commit msg from fork
master                         abcdef [origin/master] Latest commit msg from original repo
remotes/my-fork/my-fork        123456 [my-fork/my-fork] Latest commit msg from fork
remotes/my-fork/master         abcdef [origin/master] Latest commit msg from original repo
remotes/origin/HEAD            -> origin/master
remotes/origin/master          abcdef [origin/master] Latest commit msg from original repo

$ git remote -v
my-fork                        git@github.com:MyUser/SomeAmazingRepo.git (fetch)
my-fork                        git@github.com:MyUser/SomeAmazingRepo.git (push)
origin                         git://github.com/OriginalOwner/SomeAmazingRepo.git (fetch)
origin                         git://github.com/OriginalOwner/SomeAmazingRepo.git (push)
Run Code Online (Sandbox Code Playgroud)

git clone --recursive我的项目开始一个新的分拆计划,当它开始递归,它吐出了一个错误,声称它找不到这些回购存储的提交.检查后,似乎没有添加遥控器,并且分支机构在主机中留下(空)...

在本地文件夹中:MyProject2/Frameworks/SomeAmazingRepo /

$ git branch …
Run Code Online (Sandbox Code Playgroud)

git cloning git-clone git-remote git-submodules

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

如何使用git clone --recursive加速/并行化git子模块的下载?

克隆具有大量子模块的git存储库需要很长时间.在以下示例中是~100个子模块

git clone --recursive https://github.com/Whonix/Whonix
Run Code Online (Sandbox Code Playgroud)

Git一个接一个地克隆它们.比需要的时间长得多.让(可能)假设客户端和服务器都有足够的资源同时回答多个(并行)请求.

如何使用git clone --recursive?加速/并行化git子模块的下载?

git performance download git-clone git-submodules

16
推荐指数
2
解决办法
6267
查看次数