在小团队中正确使用git


14

在由约5名开发人员组成的小型团队中,用一台服务器运行实时应用程序,正确使用git的最简单方法是什么?


5
我会问这种情况下使用git。当所有人都在一间房间里只有一台专用服务器时,使用分散式源代码控制没有任何优势。而且在提交之上还有拉/推的开销。
欣快的2012年

10
@Euphoric取决于您的工具和工作流程。

3
@ONOZ请更详细地描述您当前的工作方式。

22
@Euphoric-多么狭narrow的态度。为了易于分支和合并,githg击败大多数集中式VCS。我能理解人们对不断地赞扬DVCS的人感到恼火,但是把头埋在沙子里,拒绝承认与DVCS相比,使用DVCS可以开发出不同且可能更有效的工作流程也同样糟糕。
Mark Booth

8
@Euphoric,使用Git并不意味着您的源代码控制是“分散的”。我在一个小团队中工作,我们使用Git,但仍然有一个中央存储库。那就是你要追求的。使用DVCS通常并不意味着每个人都从没有中心点的其他每个人中脱身。
Kyralessa 2012年

Answers:


11

我建议您创建一些分支:

  • 生产
  • 本地

生产分支是“活动”分支。现在正在使用该应用程序。

当需要更新时,开发人员可以将master分支拉到本地分支。比,可以开始编码了。最后,只需从开发人员本地分支拉到主服务器即可。项目经理可以在master分支中查看。测试一下。并准备好后,可以将生产与母版合并。现在,您将拥有新的软件。


如果您处于咨询或企业环境中,则可能还需要为UAT建立分支机构。
John MacIntyre 2012年

同意,我正在使用此工作流程。
张翔

您能否详细说明为什么本地分支和主分支之间有区别?我可以看到您为什么要拥有一个可用的生产版本,但是当您进行拉/推更改时,即使没有本地分支,它也会自动合并吗?
吕克2014年

1
由于本地分支可以命名为XXX-feature-name,因此,您可以将master分支合并为要在生产中使用的所有功能分支。是:因为某些功能可能不包括在内。
sensorario

7

从简单开始,并在需要时构建更复杂的工作流。

无论您做什么,都不要让成功的Git分支模型成为人们首先看到的东西,它只会使他们感到困惑和不知所措。以后,当您有更多经验时,请看一下。

我建议您从一个中央git存储库开始,并拥有所有人,包括您的生产和测试版本的克隆。

在您的git仓库中,创建一个production分支和一个test分支。

开发人员应在自己的本地或远程功能分支中工作,直到完成并合并到master。从这里可以将它们合并到test分支中以部署到测试环境中,并且当它们通过测试时可以将它们合并到production分支中。

这样,您始终可以看到哪些是新的和未经测试的,哪些是经过测试但尚未部署到生产中的,以及实际在生产中是什么。


有趣的意见,我会考虑 git的分支模型是对git的一个大忌,而另一方面它可能不是那么明显非git的用户。
wirrbel 2013年

@wirrbel有没有这样的事情 git的分支模型,你可以实现你的愿望使用任何分支模型git以满足您的工作流程。我在这里建议的方法很简单,对于没有经验的git用户,它可能比成功的Git分支模型更好,但是AsGbm对于有经验的git用户,可能更好,但并不适合某些团队(希望维护多个版本的人们)例如分支)。正如我所说,AsGbm的问题在于它看起来过于复杂。
Mark Booth

我明白你的意思了。就我而言,我从AsGbm开始(或者说是根据我的需求进行了调整)。这很完美,因为我可以看到git和svn的用法不同
wirrbel


0

集成服务器上必须有一个主存储库,每个开发人员都必须对其进行克隆。之后,只需拉一下即可。在单独的分支中开发新的重要功能。这里没有火箭科学。在实时服务器上-您还必须克隆主存储库。最好有一个像“ live”这样的分支。


2
git archive是另一种用于在实时服务器上进行部署的选项,假设您实际上并不希望直接在实时服务器上编辑内容
jk。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.