使用GIT在本地服务器和实时服务器之间同步网站文件?

时间:2011-03-03 21:27:25

标签: linux svn git version-control workflow

假设我有两个Web服务器,一个本地开发和一个实时。

在SVN下,我会将网站文件检出到我当地的网络服务器的public_html目录,也可以检查实时网络服务器的public_html目录。然后,我将直接在本地服务器上处理文件,并将任何更改提交到中央存储库。

当我准备好让这些更改在实时服务器上运行时,我会SSH并执行SVN更新。

基本上我有两个工作副本,一个在现场,一个在本地,但其他用户也可能在本地计算机上有工作副本。但是在实时服务器上只会有一个工作副本。这样做的原因是我们每次想要发布更改时都可以在实时服务器上执行SVN更新。

如何使用GIT完成simiar工作流程?

4 个答案:

答案 0 :(得分:3)

几乎完全模拟您当前的工作流程:

  • 设置git repo。
  • 在服务器上和本地克隆回购。
  • 本地工作
  • git push to the git repo
  • ssh to server
  • git pull。

另一种方法是在git中设置一个“生产”分支,有一个cron作业,不断在服务器上拉动这个分支,然后只需合并并随时推送到“生产”分支发布您的更改。听起来你需要一个更具体的分支策略。

请参阅:Git flow branching model&& git flow cli tool

祝你好运!这是git非常容易解决的问题。

答案 1 :(得分:1)

您可能会觉得这很有用:http://joemaller.com/990/a-web-focused-git-workflow/

答案 2 :(得分:0)

在您当地的工作副本中:

git push ssh://you@yourserver/path/to/your/wc

会将您当地版本的提交更改推送给您。

答案 3 :(得分:0)

有一个设置触发自动拉动leonbloy和codemac建议起初看起来似乎是个好主意,但它往往非常脆弱。我建议另外一种选择。

http://toroid.org/ams/git-website-howto