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)。我们无法正确使
我在我的主git文件夹树中添加了一个子模块并且没有更改任何内容,但显示已修改。我该怎么办?$gitstatus#Onbranchmaster#Changedbutnotupdated:#(use"gitadd..."toupdatewhatwillbecommitted)#(use"gitcheckout--..."todiscardchangesinworkingdirectory)##modified:example.com/soundmanager#nochangesaddedtocommit(use"gitadd"and/or"gitcommit-a")我尝试了gitsubmo
我无法更新git子模块,出现错误:$gitsubmoduleinitSubmodule'build/html'(git@github.com:quadroid/clonejs.git)registeredforpath'build/html'...$gitsubmoduleupdateCloninginto'build/html'...Warning:Permanentlyadded'github.com,207.97.227.239'(RSA)tothelistofknownhosts.Permissiondenied(publickey).fatal:Couldnotreadfro