从我的工作站,我可以将修改“推送”到我服务器上的一个 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
...然后设置挂钩的东西...
$ 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”。