2017-05-31 146 views
0

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

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

我不知道我们是否可以将组件文件夹放在忽略文件中,然后只需将该文件夹放在单独的回购库中,以便我们可以进行推拉?

+0

为什么你认为你甚至需要单独的回购/子模块在这里?例如, –

+0

,ui文件夹将用于多个项目,每当我们更新ui时,我们都必须复制并粘贴到另一个。 – ywj7931

回答

0

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

这将很好地工作。我提到了符号链接。如果您没有它们,那么您可以在每个副本中有效地创建组件的新分支,并决定反馈给远程主服务器的内容。您可能会为与其他用途无关的本地更改创建新分支。通过符号链接,每个更改都会对链接到其的每个其他源树立即生效。但是,您不能为单个拥抱项目设立分支,因为更改分支也会更改该符号链接文件夹的所有其他用途。

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

0

我想轻松更新文件夹并在其他项目中使用。

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