目前我的网站(生产服务器)已经有很多代码。 现在我想开始为我的项目使用Git并为我的团队设置一个临时服务器。 任何人都可以给我任何建议吗?
以下是我的想法:
Production - Production server which already have codes
↑
Staging - New staging server, will install Trac too
↗↙ ↖↘
Developer1 Developer2 - Local development
我的问题是,我该如何开始?
以下是我的一些步骤:
git init
(这样安全吗?)clone
从生产到登台服务器的回购clone
从登台到本地计算机的回购push
个文件到登台服务器push
生产的所有内容这种工作流程是否有意义,或者有更好的方法可以做到这一点?
如果我只想更改一个文件怎么办?
origin / master在这个过程中是否与它有关? 谁是起源?我最终会有多个来源吗?
此外,开发人员何时应该使用branch
?
答案 0 :(得分:58)
最好只将主分支用于Staging的生产和开发分支。每个开发人员都应创建本地分支以添加新功能,然后与开发分支合并。如果您是git的新用户,请尝试使用 - http://github.com/nvie/gitflow还有一个描述git分支模型的好图片 - http://nvie.com/posts/a-successful-git-branching-model/
答案 1 :(得分:18)
您的建议看起来不错,但我不会让开发人员直接推送到登台服务器。相反,集成商应该仔细检查分支并将它们合并到主分支(或开发分支,如果您使用bUg建议的git流模型。)* 同一个人会推送到登台服务器。
<强> 1。在生产服务器上执行git init(这样安全吗?)
是的,这是安全的,但您当然必须对此回购设置非常严格的权限。
我可能会从curl
将整个网站开始到本地光盘,如果我还没有它的话。
<强> 2。将repo从生产克隆到登台服务器
您可能应该有一个与生产服务器和登台服务器分开的“中央”存储库。可以根据需要克隆和推送。
第3。开发人员将存档中的repo克隆到本地计算机
<强> 4。完成更改后将文件推送到登台服务器
<强> 5。当分段准备就绪时,将所有内容推送到生产
将“staging”替换为“central”,我认为你没问题,但更大的问题是你如何处理分支和合并,正如bUg指出的那样。