3

在我的 Rails 应用程序中,我使用了 Git、GitHub 和 Capistrano。我们有 2 台服务器(暂存和生产)。

到目前为止,我会在本地机器上进行代码更改并将它们推送到 GitHub,然后在部署期间 Capistrano 会从 GitHub 复制到任一服务器。

现在我已经开始在 Git 中使用分支了。我在我的机器上本地创建了 2 个分支,dev并且prod. 我是目前唯一的开发人员。我目前在 GitHub 上只有分支 master。

问题:

1) 我应该在现有的 GitHub rpo 上创建devprod分支,还是应该有一个单独的 GitHub 存储库用于登台和生产?

2)如果我确实添加了分支,我将如何告诉 Capistrano 使用该dev分支进行暂存和使用该prod分支进行生产?

3)如果使用单独的回购,我如何将分支推到正确的?

4

2 回答 2

1

我不会使用单独的分支进行开发和生产。我会做一个“实验”分支。

分支确实被设计为一个安全的地方,您可以在其中中断master(您的工作代码),并尝试一些实验性的东西。您的生产分支确实如此,而开发master 您从中获得的任何分支。当您在其他分支上进行更改后,提交它们,然后使用

git checkout master

git merge newbranch

合并newbranch到你的主人。

于 2013-04-30T15:31:06.387 回答
0

一个回购就是你所需要的。

Capistrano 有一个分支设置来控制要部署的分支。我通常添加

set :branch, ENV['BRANCH'] || 'master'

到我的 deploy.rb 以便我可以部署不同的分支

cap staging deploy BRANCH=some_branch

就我个人而言,我为每个版本创建一个新分支,以便将小修复部署到生产环境中非常容易——我只是挑选该版本的分支并重新部署该分支。

于 2013-05-01T18:42:54.367 回答