本文介绍了你忽略.gitignore中的git子模块还是将它提交给你的repo?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

现在我每次运行 git status 时,现在在 project_dir / vendor / submodule_one 中为我的项目添加了一个子模块>我得到修改:vendor / submodule_one(新提交)。



我的问题是最好的处理方式有了这个?我的主项目不需要了解 vendor / submodule_one -folder到我的 .gitignore 我的子模块的具体细节?



或者当我更改并提交更改到我的子模块时,是否还需要在我的主项目中进行提交?



刚开始使用子模块,似乎无法找到更多信息。 解决方案

不,您不需要将子模块添加到 .gitignore 中:父项从子模块中将看到 gitlink ()。



这意味着:直接在子模块中进行的任何更改都需要在父目录中进行提交。

这样,父目录将记录正确提交子模块的状态:该提交是上面提到的gitlink;

你可以在。


子模块的主要思想是,您可以在其中参考特定提交中的其他回购。但是,如果您在这些子模块中更改了任何内容,则还需要更新父回购中的这些引用。






请注意,使用Git 2.13(Q2 2017),而 not 忽略gitlink,您仍然可以忽略子模块:

  git config submodule。< name> .active false 

=https://stackoverflow.com/a/43440263/6309>忽略git submodule的新提交。






注意:使用Git 2.15.x / 2.16(Q1 2018),忽略子模块会更精确。 c $ c>并没有停留在嵌入在被忽略的目录中的单独项目的工作树上,而是在该项目中列出了文件,而不是将目录本身显示为忽略。



请参见(2017年10月25日)。



 关于分支主
未被跟踪的文件:
(使用git add< file> ...来包含将被提交的内容)

tracked / submodule /

被忽略的文件:
(使用git add -f< file> ...来包含将要提交的内容)

tracked / submodule / initial.t



On branch master
Untracked files:
  (use "git add <file>..." to include in what will be committed)

    tracked/submodule/

Ignored files:
  (use "git add -f <file>..." to include in what will be committed)

    tracked/submodule/initial.t
On branch master
Ignored files:
  (use "git add -f <file>..." to include in what will be committed)

    tracked/submodule/

这篇关于你忽略.gitignore中的git子模块还是将它提交给你的repo?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-21 13:50