git push 问题导致 500 服务器错误。根据服务器错误,似乎是文件权限问题。每次我从本地机器执行 git push 时,文件的所有权都会发生变化。
为了让事情再次正常运行,我必须进入 public_html 文件夹并chown potter.potter * -R
有人可以帮我吗?我在下面展示了我是如何设置的......
我在 /home/username/gitrepos 的网站开发服务器上建立了一个名为 potter.git 的存储库
ssh root@potter.com
git config --global user.email "harry@potter.com"
git config --global user.name "harry"
在 /home/potter/gitrepos 内
mkdir potter.git
cd potter.git
git init --bare
设置挂钩以允许部署
cd hooks
pico post-receive
在接收后挂钩中输入以下内容以允许部署
#!/bin/bash
#
docroot="/home/potter/public_html"
while read oldrev newrev ref
do
branch=`echo $ref | cut -d/ -f3`
if [ "master" == "$branch" ]; then
git --work-tree=$docroot checkout -f $branch
fi
done
使接收后可执行
chmod 755 post-receive
在 .bash-profile 中设置工作目录
# GIT
export GIT_DIR=/home/potter/potter.git
export GIT_WORK_TREE=~/public_html
现在在我的本地机器上,我设置远程连接如下:
git remote add website ssh://root@potter.com/home/potter/potter.git
为了推动,我执行以下操作:
git push website master