Git Submodule vs忽略文件

时间:2017-05-31 07:15:10

标签: git

我们的项目涉及很多组件,例如,登录相关代码在服务文件夹中,ui相关代码在UI文件夹中。我想轻松更新文件夹并在其他项目中使用。

一种解决方案是使用子模块。但有时它太复杂,容易出问题。

我想知道我们是否可以将组件文件夹放在ignore文件中,然后将该文件夹放在一个单独的repo中,以便我们可以拉动并推送?

2 个答案:

答案 0 :(得分:0)

您正在考虑为每个组件分别使用git项目。任何这些组件需要的项目都应该在其源代码树的子文件夹中签出(或者象征性地链接到外部的东西)。 .gitignore条目将有助于阻止对拥抱项目的增加。

这将很好地工作。我提到了符号链接。如果您没有它们,那么您可以使用每个副本有效地创建组件的新分支,并确定反馈给远程主站的内容。您可能会为与其他用途无关的本地更改创建新分支。使用符号链接,每个更改都会对链接到它的每个其他源树产生直接影响。但是你不能拥有一个单独拥抱项目的分支,因为更改分支也将改变该符号链接文件夹的所有其他用途。

如果这在我看来是好还是坏,取决于你的同事使用git以及项目的结构(代码,更新/发布,分发......)以及如何集中组织源代码的熟练程度管理您的子项目。我可以想象,为了在远程访问的存储库上允许更多的外部代码,在某些时候你可能会欣赏更正式的git子项目方法。

答案 1 :(得分:0)

  

我希望能够轻松更新文件夹并在其他项目中使用。

你有没有尝试过使用私有存储库的作曲家?您可以轻松地在项目之间共享代码。