草庐IT

具有修改和未跟踪内容的 git 子模块 - 为什么以及如何删除它?

这是我的gitstatus'结果的样子:#Onbranchmaster#Changedbutnotupdated:#(use"gitadd..."toupdatewhatwillbecommitted)#(use"gitcheckout--..."todiscardchangesinworkingdirectory)#(commitordiscardtheuntrackedormodifiedcontentinsubmodules)##modified:vim/bundle/pathogen(modifiedcontent)#modified:vim/bundle/sparkup(un

git - 强制 Git 子模块始终保持最新

我喜欢git子模块。另外,我讨厌git子模块。我喜欢它们的地方在于它如何使您能够清晰地划分依赖关系等。我明白让它们指向repo协议(protocol)上的特定提交,我确实这样做了。但就我而言,我正在构建一个将在另一个项目中使用的库,因此我想将它保存在那个单独的存储库中。然而,当我每天都在这个库上工作时,烦恼就来了,我经常不得不切换回使用我的库的应用程序来提交指针更新。那么,当我不断更新和添加到这个库时,是否有可能让一个git子模块始终位于它所指向的repo的头部? 最佳答案 正如我在“gitsubmoduletrackinglate

Git 提交到公共(public)子模块(master 分支)

我有两个或多个项目(我们称它们为ProjectFoo和ProjectBar),它们有一些通用代码,我将它们放入了一个>子模块。我的理解是,如果我从ProjectFoo中提交对子模块的更改,它将位于一个分离的头中,只有所有ProjectFoo克隆才能看到:(master)$cdProjectFooBarCommoneSubmodule/(master)$gitcommit-am"Commoncodefix."(56f21fb0...)$gitpushEverythingup-to-date这可能是因为master分支没有改变。我可能会做一些类似gitcheckoutmaster&&git

git - .gitignore 文件添加到 Git 子模块中

我最近重组了我的点文件,使其位于~/Dropbox/dotfiles的Git存储库中,我正在使用病原体将所有Vim插件捆绑在~/Dropbox/dotfiles/home/中.vim/捆绑。这些插件作为Git子模块添加。现在的问题是,当我运行Vim时,它会自动为所有插件生成文档并将它们放入每个子模块目录中。这会向子模块添加未跟踪的内容,我想避免这种情况。ruby-1.8.7-p330@gs~/Dropbox/dotfiles‹master*›$gitst#Onbranchmaster#Changedbutnotupdated:#(use"gitadd..."toupdatewhatwi

git - 在 GitHub 上使用别人的 repo 作为 Git 子模块

我正在尝试找出是否可以将其他人的存储库(或存储库的分支)用作您自己的Git存储库中的子模块。github本身的文档丢失,或者我没有使用正确的术语来查找它。如果这不是将公共(public)存储库作为一个共享库包含在一个git项目中的首选方法,我们将不胜感激作为替代最佳实践的建议。 最佳答案 是的,您可以将任何存储库添加为项目中的子模块。只是做:gitsubmoduleaddgit://github.com/whomsoever/whatever.git...在您的存储库的顶层。这确实是使用git使用您自己的现有有用存储库的最简单方法。

git - Git 中子项目和子模块的区别?

在Git中,“子模块”(由gitsubmodule命令创建和管理)和“子项目”(字面上只是一个Git存储库,您放在另一个Git存储库中)之间是否有区别,如果有,这是什么?我能找到的关于此的所有文档都相当含糊(在某些情况下,甚至是矛盾的)。我的怀疑是没有区别,但我认为我应该确认这一点并留一个问题让Git新手找到。 最佳答案 子项目是三种嵌套类型之一的通用术语:子模块提供从super项目到子项目的半固定引用,并集成到git中。最好在子项目时使用:由其他人开发,不受super项目的管理控制,并且遵循不同的发布周期。包含super项目之间共

git - 如何将 Git 中的文件添加到以前的子模块的路径中?

我有一个项目曾经包含一个子模块,路径为mysubmodule。我从源代码(1.8.3-rc2)安装了最新的Git并运行了gitsubmoduledeinitmysubmodule。然后我删除了.gitmodules文件并提交了更改。我还从mysubmodule文件夹中删除了.git目录。我现在想将mysubmodule中的文件直接提交到我的存储库中,但git说没有任何更改。如果我输入gitaddmysubmodule它什么都不做。如果我输入gitaddmysubmodule/file.txt它说fatal:Path'mysubmodule/file.txt'isinsubmodule'

git - 如何仅从 git 子模块克隆一个文件夹?

我正在尝试从外部github存储库中获取一个文件夹以用于我的项目。我希望我的项目设置是这样的:-my_project-submodule-code.py-MY_README-.git我有一个名为some-submodule的远程仓库,结构如下:-submodule-code.py-README-.gitignore所以我只想将子模块文件夹添加到我的项目中。但我在之后结束了这个gitsubmoduleaddhttp://github.com/user/submodule.gitsubmodule-my_project-submodule-submodule-code.py-README-

git - 为什么 git 子模块不会在 git checkout 上自动更新?

当使用gitcheckout切换分支时,我假设大多数时候你会想要更新你的子模块。在什么情况下您不想在切换后更新子模块?如果这由gitcheckout自动完成,会出现什么问题?更新示例:分支A在3852f1有子模块S分支B在fd72d7有子模块S在分支A上,gitcheckoutB将生成分支B的工作副本,子模块S位于3852f1(带有修改后的S)。gitsubmoduleupdate将在fd72d7checkoutS。 最佳答案 gitcheckout--recurse-submodules已添加到git2.13发行说明中提到了这一点

git - 从 .gitmodules 恢复 git 子模块

我有一个文件夹,它是一个git仓库。它包含一些文件和.gitmodules文件。现在,当我执行gitinit和gitsubmoduleinit时,后一个命令输出什么也没有。如何帮助git查看在.gitmodules文件中定义的子模块,而无需再次手动运行gitsubmoduleadd?更新:这是我的.gitmodules文件:[submodule"vim-pathogen"]path=vim-pathogenurl=git://github.com/tpope/vim-pathogen.git[submodule"bundle/python-mode"]path=bundle/pytho