使用多个git repos进行部署

时间:2015-05-14 16:03:38

标签: git github version-control

对于我的日常工作,我与一个6人的团队合作。我们都是开发单个项目的网络开发人员。通过我们当前的git设置,我们遇到了各种各样的问题,包括冲突和被覆盖的事情,这些都会造成严重破坏。

这是我们目前的工作流程。我们在github repo上有我们的主分支。当我们推动对它的更改时,我们也会推送到我们的生产服务器远程,这使我们的更改“生动”。这是我们的面包和黄油。

当我们需要制作新功能或错误修正时,我们会根据母版创建一个分支,以便不包含任何实验或不完整的工作。当该分支准备好进行测试时,我们将它推送到github上的另一个分支,我们称之为“develop”。

应该注意的是,开发(在过去的几次)已经“同步”,与主人完全相同。

我们目前在开发分支方面遇到了问题。我们的生产网站上有一些东西根本没有/不能在开发上运行。所以我们必须直接推动掌握,通常不会推动那些相同的变化先发展。这最终使得我们的主分支在开发分支的提交方面遥遥领先,当我们将基于master的新分支合并到开发中时,被推动开发的功能但从未成为主要因为它们被废弃或未准备好被覆盖而不是抛出冲突。

尝试将这两个分支合并并同步,就像这是一场噩梦,有时会带来不可预测的结果。

TL; DR我正在寻找的是一种方法的建议,我们可以重新组织我们的git工作流程,以便这样的事情不会继续发生。是否有我们没有使用的git功能可能特别有助于此?或者是否有其他解决方案可以帮助我们部署的方式?任何建议/提示将不胜感激。

1 个答案:

答案 0 :(得分:1)

您是6个开发人员项目配置管理应该很简单。

如果您使用github,bitbucket或同等产品,您可以考虑使用“Fork / Pull”工作流程。

即使是单分支工作流程,请确保以下

  1. 不要创建/推送合并提交
  2. 始终从上游修改代码
  3. 创建本地主题分支
  4. 具有正确的CR / LF设置
  5. 具有正确的缩进设置并使用统一编辑器(vi,emacs,eclipse等)
  6. 避免不必要的缩进
  7. 学习GiT