草庐IT

git - 您是忽略 .gitignore 中的 git 子模块还是将其提交到您的存储库?

我在project_dir/vendor/submodule_one中的项目中添加了一个子模块,现在每次运行gitstatus时,我都会得到modified:vendor/submodule_one(新提交)。我的问题是处理此问题的最佳方法是什么?我是否将vendor/submodule_one文件夹添加到我的.gitignore中,因为我的主项目不需要了解我的子模块的细节?或者当我对我的子模块进行更改和提交更改时,我是否也需要在我的主项目中进行提交?刚开始使用子模块,除了设置它们之外似乎找不到太多信息。 最佳答案 不,您不需要将您

git - 忽略 git 子模块的新提交

背景在Linux上使用Git1.8.1.1。存储库如下所示:masterbook子模块创建如下:$cd/path/to/master$gitsubmoduleaddhttps://user@bitbucket.org/user/repo.gitbookbook子模块是干净的:$cd/path/to/master/book/$gitstatus#Onbranchmasternothingtocommit,workingdirectoryclean问题另一方面,master显示book子模块有“新提交”:$cd/path/to/master/$gitstatus#Onbranchmaste

git - 从 git 版本 1.9.3 开始,删除 git 子模块的方法是什么?

自mac上的git版本1.9.3(AppleGit-50)起,我如何删除git子模块?我正在阅读很多过时的信息,许多开发人员告诉我他们不会工作。目前的方式是什么?gitdeinitpathToSubModule会成功吗?我认为可行的步骤是here但评论说他们不会。让我解释一下我目前的情况以及我需要完成的工作。我已经安装了theQuickrepository并将其作为子模块添加到我的项目中。此代码已checkin,其他人正在使用它。我现在需要做的是fork相同的Quick存储库并将其托管在我公司拥有的更安全的github上(因此是一个完全不同的私有(private)github)。for

Git 子模块。 pull 入 super 项目的新克隆

好的。所以我以为我已经舔过了……但现在……我有一个项目,其中包含一个来自GitHub的小型库作为子模块。在该super项目的原始版本中,子模块按预期工作。但是,我只是克隆了super项目,做了我认为应该做的事情:“gitsubmoduleinit”,让子模块的目录出现,但它是空的。如果我现在尝试做gitsubmoduleupdate我明白了fatal:NeededasinglerevisionUnabletofindcurrentrevisioninsubmodulepath'external_libraries/BEACHhtml'如果我尝试gitsubmoduleforeachgi

git - 如何用另一个 repo 替换 git 子模块?

如何用不同的git存储库替换git子模块?具体来说,我有一个子模块:位于./ExternalFrameworks/TestFramework指向一个git仓库git@github.com:userA/TestFramework.git我希望它现在指向git@github.com:userB/TestFramework.git。问题是当我用here描述的方法删除子模块时,然后使用命令重新添加它gitsubmoduleaddgit@github.com:userB/TestFramework.git我收到这个错误:Agitdirectoryfor'ExternalFrameworks/Te

Git 不会初始化/同步/更新新的子模块

这是我的.gitmodules文件的部分内容:[submodule"src/static_management"]path=src/static_managementurl=git://github.com/eykd/django-static-management.git[submodule"external/pyfacebook"]path=external/pyfacebookurl=http://github.com/sciyoshi/pyfacebook.git但是,.git/config只包含第一个:[submodule"src/static_management"]url

git - 追溯地将 Git 文件夹转换为子模块?

通常情况下,您正在编写某种项目,过了一段时间后,您会清楚地知道该项目的某些组件实际上作为独立组件(也许是一个库)很有用。如果您很早就有了这个想法,那么很可能大部分代码都在自己的文件夹中。有没有办法将Git项目中的一个子目录转换为子模块?理想情况下,该目录中的所有代码都从父项目中删除,子模块项目被添加到它的位置,具有所有适当的历史记录,并且所有父项目提交都指向正确的子模块提交。 最佳答案 要将子目录隔离到它自己的存储库中,请在原始存储库的克隆上使用filter-branch:gitclonecdgitfilter-branch--su

git - 如何使用 'git submodule' 检查子模块的特定版本?

我将如何为特定标签或提交添加Git子模块? 最佳答案 子模块存储库处于分离的HEAD状态,指向特定的提交。更改该提交只需checkout不同的标签或提交,然后将更改添加到父存储库。$cdsubmodule$gitcheckoutv2.0PreviousHEADpositionwas5c1277e...bumpedversionto2.0.5HEADisnowatf0a0036...version2.0父存储库上的git-status现在将报告脏树:#Onbranchdev[...]##modified:submodule(newco

git - 如何管理与 git 子模块的冲突?

我有一个引用多个子模块的gitsuper项目,我正试图锁定一个工作流程,供我的项目其他成员在其中工作。对于这个问题,假设我的super项目名为supery,子模块名为subby。(然后是我正在尝试做的事情的简化......我实际上并没有使用版本的分支,但我认为将它作为一个问题来布置是最容易的。)我的superymaster分支具有作为子模块引用的git项目subby的标签v1.0。supery的分支调用了one.one并将子模块的引用更改为指向subbyv1.1/.我可以在这些分支中的每一个中顺利工作,但是如果我尝试使用master分支中的更改更新one.one分支,我会收到一些冲突我

git - 如何将 Git 子模块指针恢复为存储在包含存储库中的提交?

我的主git仓库中有一个git子模块。据我了解,主repo存储一个SHA值(某处......),指向它“链接到”的子模块的特定提交。我进入我的子模块并输入gitcheckoutsome_other_branch。我不知道我来自哪个提交。我想还原该指针,以便主仓库和子模块再次同步。我的第一个(可能是天真的)直觉是说gitreset--hard-这似乎适用于其他一切。令我惊讶的是,它不适用于这种情况。所以我发现我可以输入gitdiff,记下子模块指针曾经拥有的SHAID,然后进入子模块并gitcheckout[SHAID]...但是一定有更简单的方法吗?由于我仍在学习git子模块,如果有我