git Dev和Live站点的工作流程,推送到远程

时间:2013-08-02 15:40:21

标签: git github git-tower

首先,谈到git,我有点像新手。

我有两个网站,一个用于开发,另一个是现场网站。我正准备将所有文件移到git,(和github),因为我一直在使用SVN但是认为git(在玩了几周之后)将更适合该项目。

我想要了解的是如何为我提供最佳工作流程,将文件上传到远程服务器上。该网站的沙盒版本目前居住在本地,也上传到沙箱远程站点,任何测试都在这里完成,一旦我们感到高兴,我们将其移动到主站点通过检查任何更改翻转到实时站点文件和更新文件然后上传。

我现在打算拥有主要的'Master'分支并且有一个'沙盒'分支版本。这将为我提供为小错误创建新分支的选项,在完成和测试时将它们合并到沙箱中。

在我以前的工作方式中,文件存储在本地两个不同的位置(已经从SVN存储库中检出了两个版本)我可以跳转到Coda并在准备好时将文件ftp到服务器。 / p>

我现在猜测推送到远程将是一个更好的选择,因为使用一个存储库的ftp会引起一些麻烦?

我正在使用Tower,这确实有助于我的工作流程,但坚持如何在线获取文件。任何帮助或如果我的问题没有意义,请大声说...

1 个答案:

答案 0 :(得分:0)

我建议您在本地开发,推送到您的远程(例如github),ssh到您的实时服务器,然后git将更改从github拉到实时站点。

最近我一直在使用3个步骤:

  • 在功能分支中本地开发。一旦准备好合并到CI分支。
  • 在CI服务器上进行测试。 jenkins看到CI分支的新提交(github post commit hook),下拉更改并在测试服务器上自动构建它并运行我的所有单元测试。
  • 如果所有测试都通过,jenkins会构建文档并将它们提交给docs分支。将CI合并到主服务器并推送远程服务器的所有内容。 github看到这个新提交要掌握(再次发布提交挂钩)并向实时服务器发出命令以提取新的更改。如果单元测试失败,它会通过电子邮件发送给我并退出。

做一些最终的现场测试并重复。