我希望我的混帐回购协议是从我的工作目录中一个单独的目录,所以我用下面的命令做了回购:不能反映git的工作目录更改
$ cd mysite.git/
$ git init --bare
Initialized empty Git repository in /home/git/mysite.git
$ git config core.bare false
$ git config core.worktree /home/mysite/public_html
$ git config receive.denycurrentbranch ignore
$ cat > hooks/post-receive
#!/bin/sh
export GIT_DIR=/home/git/mysite.git
export GIT_WORK_TREE=/home/mysite/public_html
git checkout -f
^D
$ chmod +x hooks/post-receive
我似乎能够推动和从回购没有错误,但工作目录并不反映推送的变化。
如果我做
$ git status
它表明我的变化COMMITED,但后来从工作目录中删除。
这个配置直到最近都在为我的团队工作,而且我不确定如何追查可能发生的变化。我确定文件权限似乎是正确的。我不知道还有什么要检查。
有人能帮我找出为什么我的配置导致工作目录不能反映提交的更改吗?
我试图在http://caiustheory.com/automatically-deploying-website-from-remote-git-repository/ 通过类似的建议远程混帐回购协议,以建立一个网站的自动部署 是它如果不将初始化仓库初始化为裸露,可以将git仓库放在与工作目录不同的目录中?我还需要推送到回购站来自动提交更改并更新工作目录。 – phaonica 2015-02-24 00:22:38
推入回购并不会改变任何工作目录。但是你可以做你想要的一部分。要将git-dir从工作树中分离出来,请使用'--separate-git-dir'。 –
cdunn2001
2015-02-24 01:50:13