从本地Git存储库推送后,工作文件没有填充到远程服务器中

时间:2016-07-28 06:54:35

标签: git git-checkout git-post-receive

我是Git的新手,我正在关注this tutorial在本地计算机上远程设置Git工作流程。我是这个项目的唯一开发人员。

该项目使用Laravel PHP框架。我希望公用文件夹之外的应用程序文件和公共文件位于web上可见的public_html文件夹下的目录中。我的本地文件设置如下:

grapejuice/ (repository top)
    grapejuice/ (app files)
    public_html/
        grapejuice/ (public files)

在我的托管服务上,我还有其他网站列在public_html目录下,所以我需要将这些项目的文件夹与其他网站分开,因此在public_html下面是子目录。

当我尝试将我的推送更改反映到远程服务器上的工作文件时,我会被挂断。我正在按照上面的教程创建一个post-receive钩子。我的钩子看起来像这样:

#!/bin/bash
git --work-tree=/home3/ambuoyan --git-dir=/home3/ambuoyan/grapejuice.git checkout -f

然而,当我运行commit并推送到裸的远程存储库时,我得到了一个git remote用法选项列表和这条消息:

remote: hooks/post-receive: line 3: --git-dir=/home3/ambuoyan/grapejuice.git: No such file or directory
To ssh://username@website.com/home3/ambuoyan/grapejuice.git
   f94473c..42ce6aa  master -> master

所以我很困惑。目录确实存在,我知道它确实存在。命令是否部分工作或根本没有?当我再次尝试推送时,它说没有变化,所以我认为至少裸存储库是最新的,但我的工作文件都没有被远程反映。

0 个答案:

没有答案