我对Git相当新,我正在从SVN迁移。我正在为我的团队设置一个新的Git服务器。我试图了解在Git服务器上设置项目的最佳方法。
我想在Git中分支和标记自己的repo的每个项目吗?在SVN中,它通常是中央SVN存储库中自己的文件夹。看来Git更喜欢将项目作为自己的孤立存储库。
如果我认为每个项目都是Git中的新存储库是正确的,那么事情是如何分组的?在SVN中,不同的团队可能有一部分SVN仓库,其中的项目位于该部分下。示例可能将所有前端项目分组到一个文件夹中,所有服务分组到另一个文件夹中。这是在Git中通过用前缀命名te repo还是文件夹或组的概念来完成的?
感谢您的帮助!
答案 0 :(得分:2)
每个项目理想情况下都是自己的存储库。你当然可以制作一个包含所有内容的大型光盘库,但那不是最理想的。
我倾向于在文件夹中创建存储库,并使用git submodule
将库或依赖项引入顶级项目。子模块是对正在使用的外部存储库的迭代进行版本控制的好方法。
答案 1 :(得分:2)
首先,git很复杂,但使用github.com是了解它的优点并学习它的一些最佳实践的好方法。这是我在学习时使用的网站,它有一些关于git工作流程,技巧等的良好文档。我推荐它作为超越svn可能已经灌输的概念的一种方式,不再适用。
就团队之间的回购组织而言,在某些服务器上的文件夹中最有意义的任何内容同样适用于git,因为git实际上将复制整个文件夹,它始终是存储库根目录。
可能有帮助的是让不同的团队在不同的分支机构工作,并经常退出并进入稳定的中心分支。我目前使用master分支用于生产就绪代码,一个dev分支用于潜在的不稳定代码,值得分享和测试,但是当我想到一个新功能时,我不应该使用本地分支。