git中的“项目描述文件”错误?

时间:2008-10-14 07:01:58

标签: git

我想在一台我们都有权访问的机器上与其他几个人分享一个小项目。我用

创建了本地仓库的裸照副本
git clone --bare --no-hardlinks path/to/.git/ repoToShare.git

然后我将repoToShare.git移动到服务器。

我可以通过以下方式查看:

git clone ssh://user@address/opt/gitroot/repoToShare.git/ test

然后我可以在本地仓库中查看所有内容并对其进行提交。当我尝试将更改推回到远程服务器时,我收到以下错误。

*** Project description file hasn't been set
error: hooks/update exited with error code 1
error: hook declined to update refs/heads/master

有什么想法吗?

6 个答案:

答案 0 :(得分:19)

Git在hooks目录中安装了一堆预先配置好的钩子,开箱即用它们不会执行。如果您碰巧允许对它们执行(例如.chmod + x),那么git将尝试运行它们。弹出特定错误导致默认更新无法运行。要修复,请删除默认的更新挂钩。

this link有帮助吗?从文字:

  

我的一位同事经历了一次   类似的问题在这里推动不是   工作。你不能推到当地   或远程公共存储库。他是   获取项目描述文件   没有被设置的错误抛出   的.git /钩/更新。这个错误不是   发生在同一个项目上   linux或Windows框,似乎是   仅在Windows Vista上发生。从   我的研究挂钩/更新不是   默认执行,但在Windows Vista中   文件权限意味着它   是。已删除钩子/更新已解决   这些问题。

答案 1 :(得分:16)

删除挂钩/更新不是您想要做的。

只需将.git / description更改为您想要的任何内容 - 例如“FOOBAR repository”,或者,如果您是法语,则“Le depot de FOOBAR”。

答案 2 :(得分:2)

从Mac OS X(Git版本1.6.1,使用MacPorts编译)推送到Ubuntu远程存储库(Git版本1.5.4.3)时,我也遇到了这个错误

我在本地和远程存储库的.git / description文件中添加了存储库的名称并修复了它。

答案 3 :(得分:1)

chmod -x hooks / update

从.git目录执行的上述命令只会从更新挂钩中删除执行权限。无需删除文件

答案 4 :(得分:1)

删除文件或阻止其执行似乎是极端的解决方案。如果您不想添加项目描述,则足以评论或删除阻止推送操作的挂钩/更新中的行。在我的文件中,这些行是:

# check for no description
projectdesc=$(sed -e '1q' "$GIT_DIR/description")
if [ -z "$projectdesc" -o "$projectdesc" = "Unnamed repository; edit this file to name it for gitweb." ]; then
       echo "*** Project description file hasn't been set" >&2
       exit 1
fi

当我评论它们时,一切正常。

答案 5 :(得分:0)

我和@dragulesq有同样的问题,但有一个Red Hat服务器。

要更加冗长,只需将您想要的任何内容放在本地的.git / description文件中(在我的情况下是我的Mac OS X);我把网站然后放在托管Git仓库的远程服务器上(可以这么说)编辑.git / description文件并再次输入相同的字符串(例如 website )。