2016-08-16 81 views
0

我想弄清楚我们的案例中最好的git分支模型和工作流程。我们有一个非常特殊的设置:开发人员没有本地环境,都使用相同的共享环境。在共享环境中进行开发的Git工作流程

由于我们的环境难以复制,我们使用共享的开发环境。修改被上传到这个共享的环境来执行和评估。

但是,有时候开发者会通过单独更新同一个文件并导致其他人的工作被覆盖而踩到他人的脚趾。

我们还有一个用于测试和发布过程的分段和生产环境。

有没有人知道一个适合我们设置的git分支模型?

回答

0

我一直在你的鞋子里。我假设你的意思是你使用共享的工作目录你的代码(脚本?)存在于你的网络服务器或任何其他地方,并且每个人都在访问它(即,运行代码是你的单一共享工作空间在同一时间)

一种模式是:

  • 每个开发得到他自己的仓库的克隆,并且只允许git add ; git commit在该目录中。
  • 如果开发人员想要修改“实时”工作目录,他只能在该目录中执行git pull ; git checkout xyz-branch。这是用于这种相对不重要的分支制度。你可以使用标准的“gitflow”http://nvie.com/posts/a-successful-git-branching-model/,或我个人最喜欢的http://dymitruk.com/blog/2012/02/05/branch-per-feature/。甚至只是“每个开发者一个分支+ master”。
  • 这将问题从您的un-history-fied本地工作目录转移到git commit树。您现在只需找到一种方法(使用其中一种工作流程)即可摆脱直接在实时工作目录中手动修改文件的习惯。

但是,努力摆脱开发环境中的共享工作目录并努力为每个开发人员提供自己的工作是非常明智的。

+0

谢谢AnoE。你能否提供一个“让开发者以一种理智的方式一起工作的方式”的具体例子? – AnswerChaser

+0

我重新表达了这个句子,@AnswerChaser – AnoE