我正在将我的团队从TFS转移到GIT,但在这样做之前,我想知道其他人在从像CVS、SVN、TFS等集中式源代码控制转移到像GIT或Mercurial这样的分布式源代码控制系统时可能遇到的任何问题。
一些立即想到的问题是:
更新:目前在TFS中的开发流程是我们有一个主文件夹,然后是下一个版本的分支文件夹,当下一个版本的代码完成后,它会合并回主文件夹。团队中的每个成员都拥有整个项目的完全提交权限。我们没有任何复杂的过程,迄今为止,我们使用我们的源代码控制只是作为一个简单的存储库。
然而,这就是为什么我正在寻找更理想的工作流程过程,而不是适合我的当前工作流程的内容。这就是我将问题命名为“关于GIT,你们使用的团队工作流程是什么?”的原因。
一些立即想到的问题是:
- 每个用户是否在服务器上使用自己的分支进行工作,然后完成后合并,还是只保持本地,完成后推送到服务器?
- 所有新的开发工作应该在一个分支(例如“next-version”)上进行,还是应该针对“master”进行?
- 新的开发是否应该在服务器的克隆上进行,然后向生产代码库发出拉取请求,还是生产代码库的分支就足够了?
- 对第3点的跟进,如果所有内容都在分支上完成,那么有没有办法控制谁可以将其合并到“master”中?
- 还有什么其他事情是我没有考虑到的,你从集中式版本控制转移到分布式版本控制时发生了什么?
更新:目前在TFS中的开发流程是我们有一个主文件夹,然后是下一个版本的分支文件夹,当下一个版本的代码完成后,它会合并回主文件夹。团队中的每个成员都拥有整个项目的完全提交权限。我们没有任何复杂的过程,迄今为止,我们使用我们的源代码控制只是作为一个简单的存储库。
然而,这就是为什么我正在寻找更理想的工作流程过程,而不是适合我的当前工作流程的内容。这就是我将问题命名为“关于GIT,你们使用的团队工作流程是什么?”的原因。