1

我是 git 新手,虽然我可以看到分支/合并过程对单个项目的巨大好处,但在我看来,另一个有用的 Git 应用程序是使用它来集中您经常使用的核心自定义代码和模板在您的所有项目中,每个项目都作为自己的分支开始。

例如,我有大量自定义代码,这只是我用于所有应用程序的起点。如果我在这里和那里调整它,或者找到错误并修复它们,我希望在所有使用该代码的项目中复制它。

通过在 master 的单独分支中进行调整,然后合并回 master,然后将 master 与占用单独项目的其他分支合并,似乎我可以很好地实现这一点。

这种 Git 方法有什么主要缺点吗?

此外,虽然我知道存在子模块,但我现在不想使用它们,因为 Xcode 本身不支持它们。

4

1 回答 1

1

几个项目将倾向于按照自己的条件推进。如果您将所有人都放在同一个分支上,您会看到混合提交,并且没有任何历史感可辨。如果将每个项目放在单独的分支上,则必须从一个跳转到另一个,并且与单独的 git 存储库相比没有任何优势(git非常轻量级!)。

DVCS 确实增加了开销(如果有多个具有相同内容的存储库,它肯定会增加磁盘空间;但现在这很便宜......)。它的优点是您可以在任何地方自由工作(无需等待缓慢的连接),并且(至少使用 git)操作通常如此之快,以至于在您习惯它之前,您会有这种挥之不去的恐惧被骗了,什么都没做……

对于开发而言,分支和合并有效且成本低廉的事实意味着鼓励实验和探索。提交是即时的并且占用很少空间的事实导致了微提交(一个逻辑更改,甚至是最小的错误修复或错字,每次提交),而不是“一个早上的工作价值”转储。这使得历史可以理解,并且工具git bisect非常有用。

我有一堆 git 存储库,里面有我想保留历史的东西,但不一定会与其他人共享。我还保留在远程存储库中的一些更重要的东西(仅gitssh另一端,并且需要不时地推送到那里的一些纪律)以进行备份。从这个意义上说,我更多地将 git 用作本地 VCS,这也具有我可以与他人分享的优势 ;-)

于 2013-03-12T19:40:41.600 回答