Questions tagged «git-submodules»

子模块允许您将Git存储库保留为另一个Git存储库的子目录。

3
如何更改git子模块以指向子文件夹?
浏览SubModule教程,我从boto项目中创建了一个子模块。然后,我发现我实际上只需要这个项目的一个子集-特别是boto文件夹。 我想更改我的子模块以指向该文件夹。当我查看.gitmodules时,我看到 [submodule "backup/src/boto"] path = backup/src/boto url = https://github.com/boto/boto.git 我应该使用哪个URL代替https://github.com/boto/boto.git?更改URL后,是否应该在本地删除boto文件夹并重新拉动?

6
如何用另一个仓库替换git子模块?
如何将git子模块替换为其他git repo? 具体来说,我有一个子模块: 位于./ExternalFrameworks/TestFramework那个指向git repogit@github.com:userA/TestFramework.git 我现在想指出git@github.com:userB/TestFramework.git。 问题是,当我使用此处描述的方法删除子模块时,然后使用命令将其重新添加 git submodule add git@github.com:userB/TestFramework.git 我收到此错误: A git directory for 'ExternalFrameworks/TestFramework' is found locally with remote(s): origin git@github.com:userA/TestFramework.git If you want to reuse this local git directory instead of cloning again from git@github.com:userB/TestFramework.git use the '--force' option. If the local git directory is not …

3
当前删除git子模块的方法是什么?
从Mac上的git版本1.9.3(Apple Git-50)开始,我如何删除git子模块?我正在阅读许多过时的信息,许多开发人员告诉我他们不会工作。目前的方式是什么?会成功git deinit pathToSubModule 吗? 我认为可行的步骤在这里,但评论说它们不会。 让我解释一下我目前的情况以及我需要完成的工作。我已经安装了快速存储库,并将其添加为项目的子模块。此代码已签入,其他人正在使用它。我现在需要做的是派生相同的Quick存储库,并将其托管在我公司拥有的更安全的github(因此完全是另一个私有github)上。分叉后,我想将该叉子添加为gitSubmodule,并使其替换我之前安装的当前Quick子模块。 更新:我已阅读以下内容,这是最新git版本的正确方法,请确认? To remove a submodule added using: git submodule add blah@blah.com:repos/blah.git lib/blah Run: git rm lib/blah That's it. For old versions of git (circa ~1.8.5) use: git submodule deinit lib/blah git rm lib/blah git config -f .gitmodules --remove-section submodule.lib/blah

3
从GitHub克隆项目后提取git子模块
我有一个在其中指定了子模块的项目。在开发机器上一切正常。我已.gitmodules提交文件并开始生产。但是,它不会拉出子模块。 如果我进入子模块目录并调用git pull,则什么也不会发生。 在新项目中提取这些子模块的正确方法是什么?

6
Git子模块。进入超级项目的新克隆
好。所以我以为我舔过了……但是现在……。 我有一个项目,其中包括一个来自GitHub的小型图书馆作为子模块。在该超级项目的原始版本中,子模块按预期工作。 但是,我只是克隆了超级项目,做了我认为应该做的事情:“ git submodule init”,让子模块的目录出现了,但是它是空的。 如果我现在尝试做 git submodule update 我懂了 fatal: Needed a single revision Unable to find current revision in submodule path 'external_libraries/BEACHhtml' 如果我尝试 git submodule foreach git pull 我懂了 Entering 'external_libraries/BEACHhtml' fatal: Where do you want to fetch from today? Stopping at 'external_libraries/BEACHhtml'; script returned non-zero status. …

9
一个目录中有两个git存储库?
一个目录中可以有2个git存储库吗?我认为不会,但我想问。基本上,我想检入我的主目录配置文件(例如.emacs),该文件在我使用的所有计算机上应该是公用的,但还有第二个本地文件存储库(例如.emacs.local),其中包含机器特定的配置。我能想到的唯一方法是将本地配置放在子目录中,并从主git存储库中忽略该子目录。还有其他想法吗?

7
Jenkins构建中未更新Git子模块
我在詹金斯的一个项目中有一个子模块。我已启用高级设置以递归方式更新子模块。 当运行构建时,我看到工作空间中包含子模块中的文件。问题是,这似乎是子模块的第一个修订版。当我推送更改(托管在GitHub上的存储库)时,Jenkins似乎没有更新子模块以获取正确的更改。有人看过吗?

6
忽略git子模块的新提交
背景 在Linux上使用Git 1.8.1.1。存储库如下所示: master book 子模块的创建如下: $ cd /path/to/master $ git submodule add https://user@bitbucket.org/user/repo.git book 该book子模块是干净的: $ cd /path/to/master/book/ $ git status # On branch master nothing to commit, working directory clean 问题 另一方面,母版显示book子模块有“新提交”: $ cd /path/to/master/ $ git status # On branch master # Changes not staged for commit: …


8
如何将git补丁从一个存储库应用到另一个存储库?
我有两个存储库,一个是库的主存储库,另一个是使用该库的项目。 如果我对从属项目中的进行了修复,则希望有一种简单的方法将该修补程序应用回上游。 每个存储库中文件的位置都不同。 主仓库: www.playdar.org/static/playdar.js 项目: playlick.com/lib/playdar.js 我尝试git format-patch -- lib/playdar.js在playlick项目上使用,然后git am在主Playdar存储库上使用,但是补丁文件中不同的文件位置引发了错误。 是否有一种简便的方法将补丁从给定文件上的给定提交应用于其他位置的另一个任意文件? 为了获得加分,如果要将补丁应用到的文件不在git存储库中怎么办?

3
如何仅从git子模块克隆文件夹?
我正在尝试从外部github存储库中获取一个文件夹以在我的项目中使用。 我希望我的项目设置是这样的: -my_project -submodule -code.py -MY_README -.git 我有一个名为re-submodule的远程仓库,其结构如下: -submodule -code.py -README -.gitignore 所以我只想将子模块文件夹添加到我的项目中。 但是我最终还是这样 git子模块添加http://github.com/user/submodule.git子模块 -my_project -submodule -submodule -code.py -README -.gitignore -MY_README -.gitignore 我是git的新手,所以我真的不知道是否可以仅使用git。如果有帮助,我在Windows上使用msysgit。 所以,无论如何,我可以从公共存储库中的项目中获得一个干净的子模块文件夹吗? 如果您对我要执行的操作完全感到好奇,我想直接从他们的存储库中获取这些django插件1 2,以将其添加到我的项目中。

3
为什么git checkout不会自动更新git子模块?
当使用git checkout切换分支时,我会假设大多数时候您都想更新子模块。 在什么情况下,你不希望更新子模块切换后? 如果通过git checkout自动完成该操作会怎样? 更新了示例: 分支A在3852f1具有子模块S 分支B在fd72d7具有子模块S 在分支A上,git checkout B将生成分支B的工作副本,其子模块为3852f1(具有经过修改的S)。git子模块更新将在fd72d7检出S。

7
从.gitmodules恢复git子模块
我有一个文件夹,这是一个git repo。它包含一些文件和.gitmodules文件。现在,当我这样做git init,然后git submodule init,后者命令的输出是什么。我如何帮助git查看.gitmodules文件中定义的子模块,而无需git submodule add再次手动运行? 更新:这是我的.gitmodules文件: [submodule "vim-pathogen"] path = vim-pathogen url = git://github.com/tpope/vim-pathogen.git [submodule "bundle/python-mode"] path = bundle/python-mode url = git://github.com/klen/python-mode.git [submodule "bundle/vim-fugitive"] path = bundle/vim-fugitive url = git://github.com/tpope/vim-fugitive.git [submodule "bundle/ctrlp.vim"] path = bundle/ctrlp.vim url = git://github.com/kien/ctrlp.vim.git [submodule "bundle/vim-tomorrow-theme"] path = bundle/vim-tomorrow-theme url = git://github.com/chriskempson/vim-tomorrow-theme.git 这是此目录的清单: drwxr-xr-x …

2
通过ssh或https自动访问git子模块
问题: 有没有一种方法可以通过与主存储库相同的方法(ssh或https)自动检出git子模块? 背景: 我们有一个非公共gitlab存储库(main),它具有一个子模块(utils),该子模块也作为非公共gitlab存储库托管在同一服务器上。这些存储库可以通过ssh或https访问: user@gitlabserver.com:my/path/repo.git https://gitlabserver.com/my/path/repo.git 显然,这两种变体都需要不同形式的身份验证,并且取决于客户端计算机和用户,一个或另一个是首选。 对于顶级存储库(main)来说,这不是问题,因为任何人都可以选择他或她喜欢的方法,但是对于子模块,这取决于.gitmodules文件,因此(最初)对于所有文件都是相同的。 现在,不必所有人都根据自己喜欢的方式调整.gitmodules文件,并确保他们不会意外提交这些更改,那就很好了,如果有一种方法可以只指定服务器和存储库路径,而git选择用于主仓库的相同方法,或者可以在gitconfig中设置的方法。

2
'git submodule init'的意义是什么?
背景 要填充存储库的子模块,通常会调用: git submodule init git submodule update 在这种用法中,git submodule init似乎只做一件事:.git/config使用中已有的信息填充.gitmodules。 这有什么意义呢? 不能git submodule update简单地使用来自的信息.gitmodules?这样可以避免: 不必要的命令(git submodule init); 和 不必要的数据重复(将.gitmodules内容放入.git/config)。 题 要么: 有一些git submodule init我不知道的用例(在这种情况下,请赐教!);要不然 git submodule init 是可以在Git中弃用而不会造成任何损害的残骸。 以下哪项是正确的?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.