更新:我确认它确实是导致此问题发生的文件权限。我的主机安装了suPHP,出于安全原因,如果我没有设置适当的权限(文件夹755,文件644),会导致500错误。Git推送和结账更改权限后更改不显示
不幸的是,有了这些权限,我无法通过git将更改推送到该文件夹。
试图使用权限,以便我仍然可以安全,同时也可以使用git进行部署。
======================================
以下是原始问题:
======================================
我有一个非裸露的远程存储库,我在本地工作后推送更改。
我的本地机器有Ubuntu 14,而我的远程服务器有Cent OS。两者都使用Git版本1.9.1。
我是能推到远程存储库的主分支由于以下:
git config receive.denyCurrentBranch ignore
以下保存在“git的/挂钩/后收到”
GIT_WORK_TREE=../ git checkout -f
它是可执行的(chmod + x)。
最近,试图做一个“git push dev master”后,似乎没有问题,因为它会成功推送。
当我SSH进入远程存储库并执行“git log”时,它显示我列出的最新提交。但是,在检查文件时,更改不存在。当我输入“git branch”时,我看到我目前在Master分支上(键入“git checkout master”确认我已经在master分支上了)。
我看到更改的唯一方法是在git日志中查找最近的提交,然后键入“git checkout [commit ID]”。
这样做会使更改显示出来,但是我的权限会更改,我不得不使用bash脚本将权限更改为所需的权限。
可以做些什么来防止这个问题的发生?
你确定你提交到正确的分支? –
Hi @TimBiegeleisen。感谢您的答复。是的,我在本地输入“git checkout master”以确保在提交之前我在主分支上。它提醒我,我已经在Master分支上了。 – AndrewMRiv