我有一个依赖于Twitterbootstrap2.x的项目,但是,当我使用以下命令将bootstrap添加为子模块时:gitsubmoduleaddhttps://github.com/twbs/bootstrap.git这会引入最新版本的Bootstrap。我想为特定标签创建一个子模块,但还没有找到方法。这可能吗? 最佳答案 创建子模块后:cd/path/to/yoursubmodulegitcheckoutyourTagcd..gitaddyoursubmodulegitcommit-m"usesubmoduileattagxx
假设以下项目布局:-mainrepo_git|____.git|____.gitmodules|____projmainrepo_git包含我直接负责的源代码。我有读/写权限,可以直接推送和pull到我管理的远程git存储库。mainrepo_git中嵌套了一个我命名为3rdpartysourcecode的目录。这个3rdpartysourcecode目录实际上是另一个git存储库(通常也称为“git子模块”),它指向由其他开发人员管理的开源第3方git存储库。我只有读取权限。没有写入权限。是否有任何方法可以“卡住”与我的主存储库中的提交相关的git子模块的特定提交哈希?例如,
我使用git来跟踪我正在处理的网站。我在我的机器上工作并将提交推送到按照本指南配置的远程服务器:usingGittomanageawebsite.上周我尝试使用Git子模块来管理一些第三方库,今天我尝试推送到服务器,发现服务器中所有子模块目录都是空的。我尝试添加并提交更改到本地子模块,确实gitstatus说工作目录是干净的。我能做什么? 最佳答案 子模块的Gist是它们是存储库中的git存储库,父存储库只知道应该在子模块中checkout什么提交——它对内容一无所知。因此,服务器只知道没有填充子模块的父项目,自然不会在其中看到任何
克隆具有大量子模块的git存储库需要很长时间。在下面的例子中是~100个子模块gitclone--recursivehttps://github.com/Whonix/WhonixGit将它们一一克隆。花费的时间比要求的要长得多。让我们(可能)假设客户端和服务器都有足够的资源来同时响应多个(并行)请求。如何使用gitclone--recursive加速/并行下载git子模块? 最佳答案 使用git2.8(Q12016),您将能够启动子模块的获取...并行!参见commitfbf7164(2015年12月16日)JonathanNie
我有一个带有两个Remote(github和bitbucket)的git仓库。我里面有子模块,相应地指向另一个github/bitbucket存储库。但是在子模块的定义中是url,这是硬编码的。我可以要两个吗?还是每个Remote一个?这样我在github上的主要repo指向github上的子模块。我在Bitbucket上的主要repo指向bitbucket上的子模块?[submodule"programs/mgr-nancy-demo"]path=programs/mgr-nancy-demourl=git@github.com:wedkarz/mgr-nancy-demo.gi
有关如何“本地”删除子模块的有用答案-HowdoIremoveasubmodule?但是我遇到了一个问题,我在多台机器上克隆了我的存储库。二我一个月只工作一两次。因此,当我更新这些分支时,虽然不再跟踪子模块,但文件仍在工作分支上以及.git/modules中。不止一次我不小心checkin了一些。在其他情况下,由于存在这些不需要的文件/目录,我的构建失败了。我想我可以保留一份要删除的东西的列表-但这似乎不对-另一个人会如何删除并且我没有git之外的信息要删除什么?那么清理克隆的建议方法是什么?更新对我来说git--version返回gitversion2.18.0这似乎是最新的(它是2
我有一个项目需要分成两个存储库:一组通用模型和基于这些模型的模拟,以及附加代码。最终可能会有使用同一组模型的多个模拟,因此将它们放在单独的存储库中是一个明确的要求。显而易见的解决方案是将通用模型作为模拟的子模块。不幸的是,这两个存储库将非常高度耦合。人们会非常频繁地向他们的通用模型添加一些东西,然后立即在模拟中使用它。我想这会在模拟repo的集成过程中造成很多麻烦。为了在模拟中merge来自许多开发人员的更改,集成商将不得不在通用模型子模块中进行并行merge。另一方面,它也使得使用子模块变得必不可少-模拟确实需要知道它应该使用哪个版本的通用模型。该项目由相当多的人参与。大多数开发人员
我们有两个单独的rails_app,foo/和bar/(分开是有充分理由的)。它们都依赖于common/文件夹中的某些模型等,目前与foo和bar平行。我们当前的svn设置使用svn:externals来共享common/。这个周末我们想试试git。经过大量研究,解决此问题的“犹太”方法似乎是使用gitsubmodule。在将foo、bar、common分离到单独的存储库之后,我们得到了它的工作,但随后实现了所有stringsattached:Alwayscommitthesubmodulebeforecommittingtheparent.Alwayspushthesubmodule
这个问题在这里已经有了答案:WhatisRepoandWhydoesGoogleuseit?(5个答案)关闭2年前。碰巧我们在3个不同的移动平台之间共享一个库。办公室内部就什么是管理该图书馆的最佳工具存在很多争论。据我所知,Repo(Android)是一个构建在Git之上的工具,用于管理数百个用于Android的Git存储库,而Git子模块已经是Git的一部分。理想情况下,我们希望将这个库放在一个单独的存储库中,并能够将它简单地集成到每个不同的移动应用程序中。使用gitsubmodule或Repo作为管理在不同平台之间使用的共享库的方法有哪些优缺点?
我正在设置部署脚本。基本流程是:将更改推送到服务器上的裸存储库然后根据新的标签为发布创建一个新的文件夹。使用gitarchive将文件移动到发布目录运行一些迁移脚本并将其上线(如果一切成功)。问题是我的存储库包含一个子模块,它没有被放入存档中,因此也没有被放入发布目录中。我看过git-archive-all,但这不适用于裸存储库。如果不行,我正在考虑,使存储库不裸露,并更新工作副本,这将允许我使用git-archive-all。或者在服务器上有子模块的第二个裸存储库,我可以从中获取存档(必须对此进行调查以确保我获得正确的修订版)。 最佳答案