针对多个项目和非开发人员的 git 工作流程的建议

Suggestions for git workflow for multiple projects and non-developers

我有一个有趣的用例,我认为 git 可以提供帮助,但我不知道如何组织这样的存储库。我们有一个小团队(4-6 名程序员)负责编写从开发 > 暂存 > 生产阶段移动的脚本和小程序。我们团队中没有人有任何使用 VCS/DVCS 的经验,现在,版本控制由本地计算机上的文件名约定管理,生产代码位于中央服务器上。

在接下来的 6 个月里,我们将从本地开发环境(每个程序员在他们的本地计算机上都有许多开发工具 运行)转移到中央服务器模型。这种中央服务器模型还要求我们的程序员将他们的文件托管在服务器上,而不是本地。我们希望在迁移的同时转向(任何类型的)VCS。

所以一些细节:

除了我自己项目的非常简单的本地回购外,我没有任何使用 git 的经验。根据我一直在阅读的内容,git 重量轻且足够灵活以适应各种配置。

有什么建议吗?

一个简单而安全的解决方案是使用 3 个不同的 git 存储库。

  • 回购 1:Production
  • 回购 2:Staged
  • 回购 3:Tools

Production repo: Production repo 应该被用作主要的代码库,并且只允许维护者访问它。这个 repo 应该像这样配置:

git config --local remote.staged <path/to/staged/repo>

此配置将允许生产维护者执行简单的 git pull staged master 将代码从 Staged 存储库获取到 Production 存储库。

Staged repo: Staged 仓库的 master 分支可以用作 "Staged code",其他分支可以用作 "Development code".

Tools repo:此外,Tools repo 应该用作开发人员使用的通用工具的存储库。理想情况下,Tools repo 中的每个工具本身应该是一个 git-repo 子模块,但我猜这会使 repo 有点复杂。

注意这些存储库(主要是 StagedProduction)基本上包含您的业务,因此它们应该非常干净和方便。因此,请在 Production 存储库中保留所需的最少但足够的代码。并尝试对 Staged 存储库进行同样的操作(强度可能稍低)。