我认为我已经完成了这个新项目的所有工作,并且认为git子模块是开发和部署我的应用程序的方式。设置我的gitrepo(Drupal)并用Drupal的7.12标签初始化它。做了我自己的分支。然后在sites/all/modules/contrib下添加需要的模块git子模块添加--branch7.xgit://path/to/drupal/modulesites/all/modules/contrib/module然后我想,通过将我的存储库推送到github,我可以简单地pull它,然后它将所有子模块pull入部署路径。但是,我的所有模块都没有被pull出,即使我这样做了:git子模块f
我正在尝试发布一个使用git作为SCM的多模块maven项目,我遇到的第一个问题是maven发布插件构建release.propertiesscm.url的方式。我的父POM看起来像这样:pomorg.projectproject-parent1.0.0-SNAPSHOTscm:git:git://github.com/username/project.gitscm:git:git@github.com:username/project.githttp://github.com/username/projectapispi而且模块POM很简单:org.projectproject-pa
git文档并没有说清楚gitsubmoduleupdate和gitsubmodulesync之间的区别是什么.我也没有在网上找到任何帮助。有人可以帮我弄清楚这里有什么区别吗?updateUpdatetheregisteredsubmodulestomatchwhatthesuperprojectexpectsbycloningmissingsubmodulesandupdatingtheworkingtreeofthesubmodules.The"updating"canbedoneinseveralwaysdependingoncommandlineoptionsandthevalu
我有一个项目,我有兴趣将其中的部分拆分为开源项目。我已经设置了嵌套的git存储库main、一、二和三:main/├──one├──three└──two我认为通过进入“主要”并做gitaddonegitaddtwogitaddthree(注意尾部没有斜杠),我会用子存储库设置子模块,然后就可以开始了。但是,如Howtotrackuntrackedcontent?中所述,这只会创建gitlink而不是真正的子模块。不幸的是,这个答案没有帮助,因为它假定在某处有一个“主”存储库else用于“main/one”、“main/two”和“main/three””。我希望这些子存储库成为主存储库
我有一个git仓库,我想给它添加一个子模块。问题是,子模块作为另一个存储库中的文件夹存在。我可以只将该文件夹添加为子模块吗? 最佳答案 我最终这样做了:创建一个submodules目录。在此目录中添加子模块。创建指向子模块内特定目录的符号链接(symboliclink)。这样你就有了默认的Git子模块行为,并且在你的项目中你只使用了整个子模块的一个子集。 关于git-如何从gitrepo添加特定文件夹作为git子模块?,我们在StackOverflow上找到一个类似的问题:
user$sudogitsubmoduleupdatefatal:referenceisnotatree:a094dcfeeb43fcd62a9e466156e05e7581026f33Unabletocheckout'a094dcfeeb43fcd62a9e466156e05e7581026f33'insubmodulepath'client/src/util'我该怎么办?我只想从存储库中获取最新代码的干净副本,我不介意丢失我的更改。如您所知,我显然不确定发生了什么。我只能认为它正在尝试checkout一个文件,这意味着git检测到我本地计算机上文件的本地更改。我目前正在使用OSX
似乎父仓库中的git仓库不包含在父仓库的提交中,除非它被设置为子模块。是否可以覆盖此行为并将嵌套的gitrepo视为任何其他目录?我不想通过子模块依赖外部依赖,而是想使用git来管理项目内的这些依赖。 最佳答案 1/您可以通过以下方式覆盖它:要么gitconfig设置:设置环境变量$GIT_DIR您将嵌套Git工作树的.git目录定义为external.git(在嵌套仓库和主仓库外部)或者通过将嵌套的repo“N”设置在主repo外部,但检查repo“N”在主repo:core.worktreeSetthepathtotheroot
问题:有没有办法通过与主存储库相同的方法(ssh或https)自动checkoutgit子模块?背景:我们有一个非公共(public)gitlab存储库(main),它有一个子模块(utils),它也作为非公共(public)gitlab存储库托管在同一台服务器上.可以通过ssh或https访问这些存储库:user@gitlabserver.com:my/path/repo.githttps://gitlabserver.com/my/path/repo.git这两种变体显然需要不同形式的身份验证,并且根据客户端计算机和用户的不同,首选其中一种。对于顶级存储库(main)这不是问题,因
我正在尝试更新此git存储库的子模块,但我不断收到fatalerror:[root@iptlockProdigyView]#gitsubmoduleupdate--recursiveCloningintocore...Permissiondenied(publickey).fatal:TheremoteendhungupunexpectedlyCloneof'git@github.com:ProdigyView/ProdigyView-Core.git'intosubmodulepath'core'failed或者这样[root@iptlockroot]#gitclone--recur
在我的项目中,我需要使用存储在多个Git存储库中的第三方代码。我的项目也存储在(单独的)Git存储库中。在主要项目上有几个人和我一起工作,我是维护者。在早期的项目中,我曾经手动将依赖项复制到Git工作树,添加一个小文件指定我使用的版本。现在这很不舒服,因为我需要每天更新一个依赖项,并且经常自己贡献代码,大部分时间都伴随着对主项目的更改。我决定尝试使用Git子模块来进行管理。我尝试得越多,我就越沮丧。甚至看起来手动复制也许更好。以下是我的一些担忧:我们不再能够通过单个命令获得一致的存储库状态(gitcheckout现在需要gitsubmoduleupdate--init)。我们无法正确使