【发布时间】: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 并拉取图像