如何在我的网络服务器上创建现有网站的开发和实时版本的Git仓库?

时间:2012-09-12 19:59:12

标签: linux git

一些信息:

  • 在CentOS 5.6 64bit上运行Apache 2.2.3(如果Apache版本与此相关,则为dunno)
  • 安装了Git
  • 这是一个VPS,所以我拥有所需的所有访问权限

我有一个现有的网站(位于 / home / username / public_html / )和网站的开发版本(在 / home / username / dev / )两者都在同一台机器上。

我直接在dev版本上工作(实际上在本地工作,但是使用Sublime Text 2的SFTP插件在保存时自动上传,所以对于所有意图和目的,我可以考虑直接在/ home /上的文件上工作的用户名的/ dev /).

我想做的是使用Git将更改从dev推送到live。目前,我必须跟踪编辑哪些文件,然后FTP或手动复制它们。如果事情不对,我想能够恢复变化,就像这样。

但是,之前我从未使用过Git(或任何类型的版本控制)。我一直在谷歌搜索Git教程,但我发现的一切都假设与我的实际设置有所不同。主要的是大多数教程都假设全新的项目。我很害怕通过尝试为它设置回购来弄乱我的实时网站。

无论如何,我的问题是:如何使用我现有的文件夹创建一个仓库,我可以从/ home / username / dev /推送到/ home / username / public_html /(或者反之亦然)?

2 个答案:

答案 0 :(得分:1)

我最终跟随this tutorial,它完全符合我的要求。

答案 1 :(得分:0)

假设您的实时版本来自您的开发版本的某个版本,您可以使用

将所有内容放入git存储库中
  • 制作实时代码的副本

    $ cp -axf /home/username/public_html/ git_repo
    
  • 将所有内容置于git版本控制之下

    $ cd git_repo
    $ git init
    $ git add .
    $ git commit -m 'Initial import from live version'
    
  • 现在复制dev版本中的所有文件并将它们放在git中的dev分支上

    $ rm *
    $ cp /home/username/dev/* .
    $ git checkout -b dev
    $ git add .
    $ git commit -m 'Initial import from dev version'
    

之后,您的实时代码将位于存储库中的master分支和分支dev中的开发代码中。

如果你完成后总是把所有东西都从dev开始变为现实,你可以通过git将你的dev合并到你的master分支(它包含你的实时代码)中来实现这一点

您的实时版本可能是master分支中该存储库的克隆,而部署只是

$ git pull

那里。