2013-02-10 52 views
2

这个问题真的在分支和合并。我刚刚在上周开始讨论git,我非常喜欢它,但我有一些问题。我读的所有内容都告诉我永远不要在主分支中工作。所以,在我做任何编程修改之前,我都会创建一个新的分支并完成我的工作,然后我将它合并回主服务器......我不知道这是否正确,所以我想听取其他人的意见。你如何在现实世界中使用GIT?

但我怎么处理的代码将分期和生产的?我只是在主人中标记代码,还是为每个版本制作生产分支?

请可有人请告诉我如何处理你的代码移动到分期,测试和生产工作......你使用标签或分支机构或两者兼而有之。

回答

4

有很多车型在那里:你需要的是你的版本控制设置可以是简单或者复杂。这里有一个流行的方法:http://nvie.com/posts/a-successful-git-branching-model/

我个人使用一个新的分支为每个特性/错误,然后合并到主像你一直在做。然后简单地标记生产版本,其临时服务器运行在主服务器上。

如果你需要更复杂的东西,你可以做类似上述的Git流技术,它具有的版本分支等,但如果你不需要它,那么你没有做到这一点。

+0

Thannks ChirsC,但我可以问你有关制作和回滚的发布。在你融入主人之后,你是否在生产代码上加了一个标签?如果是的话,你如何标签,基于标签等 – techsjs2013 2013-02-10 15:01:23

+0

我不会标记,只要我合并回主,就在我准备发布时。例如如果我正在研究2个特性,每个特性都在自己的分支中,并且我想在两个特性完成后发布,我将完成特性1,合并到主特性,然后完成特性2并将其合并为主,然后标记。有关标记的信息,请参阅http://git-scm.com/book/en/Git-Basics-Tagging:我通常会创建一个带注释的标记,git将标记推送到回购(例如GitHub),然后git获取并生产服务器上的git checkout标签。或者,您可以将生产服务器作为远程服务器并推送给它。 – ChrisC 2013-02-10 15:10:36

0

不要忘记分布式版本控制系统的另一个维度:

你不必只是标记和分支,具有workflow of merges管理促进一起发布管理过程你的代码,你也有出版orthogonal feature(推/跨存储库拉)

所以没有什么可以阻止你推某个标签(从你想要的任何分支)到专用UAT,为了坐或督促预回购协议在将其发布到生产之前进行测试。
注意,生产方面可以很好地从它的过程中排除混帐,以保持必要的东西来运行和监视应用程序,保留的git为应用程序开发生命周期。请参阅“Using git below web root in production”。