【问题标题】:Git for live site deployment : How to get files from the live version?用于现场部署的 Git:如何从现场版本中获取文件?
【发布时间】:2012-12-28 11:31:26
【问题描述】:

从我的工作站,我可以将修改“推送”到我服务器上的一个 git 裸存储库,其中包含一个运行“git checkout -f”的 Hook,因此我可以通过 Git 部署我的站点。

问题是我网站的用户可以上传文件(如图片)。没有这些文件,网站就无法运行。所以我的问题是:我怎样才能在我的工作站上进行实时版本的修改?(比如用户上传的文件)。

** 编辑:关于我设置此配置的过程的一些细节:**

在已经包含站点的服务器上:

$ cd /home/website/www
$ git init
$ git add *
$ git commit -m 'First commit !'

...然后创建一个裸存储库...

$ cd /home/website
$ mkdir www.git 
$ cd www.git
$ git init --bare

... 然后设置 hooks stuf...

$ git config core.bare false
$ git config core.worktree /home/website/www
$ git config receive.denycurrentbranch ignore
$ cat > hooks/post-receive
#!/bin/sh
GIT_WORK_TREE=/home/site/www git checkout -f  

...然后提交裸存储库:

$ git add /home/website/www
$ git commit -m "First commit of the bare repository"   On my workstation, on a new folder, to get the whole directory :

$ mkdir /Users/me/Sites/website/
$ git init
$ git remote add live ssh://root@myserver.com/home/website/www.git
$ git pull live master

然后就可以了。如果我修改工作站上的文件并想要制作 他们直播,我只需要“git push live master”。

【问题讨论】:

  • 如何在您的实时服务器上使用 git 并创建一个脚本,将例如图像推送到裸存储库?或者,如果您不希望图像出现在您的存储库中,您可能需要使用 git-ftp 并对其进行配置,以便您可以在本地访问您的 livesite 并拉取图像

标签: git git-push git-pull


【解决方案1】:

我不建议将这些图像提交回裸存储库(如果这些图像很大或很多,裸存储库的大小可能很快变得太重要而无法轻松克隆)

但是您可以使用 hook 将这些图像复制回某个共享目录中,然后您可以从工作站访问这些图像(并且您可以 rsync,以便仅获取增量)。
基本上,我建议在不使用 git 的情况下取回这些图像。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-25
    • 2016-06-10
    • 1970-01-01
    • 2016-03-22
    • 1970-01-01
    • 2023-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多