2011-09-13 94 views
3

好吧...这是交易。当我尝试我的本地回购推到我的服务器上裸露的回购协议,我得到以下错误:推送本地回购到共享主机上的裸服务器回购

Counting objects: 225, done. 
Delta compression using up to 2 threads. 
Compressing objects: 100% (220/220), done. 
Writing objects: 100% (225/225), 391.31 KiB, done. 
Total 225 (delta 25), reused 0 (delta 0) 
git: 'index-pack' is not a git-command. See 'git --help'. 
error: index-pack exited with error code 1 
error: unpack failed: index-pack abnormal exit 
To [email protected]:/home/user/public_html/dir.git 
! [remote rejected] master -> master (n/a (unpacker error)) 
error: failed to push some refs to '[email protected]:/home/user/public_html/dir.git' 

现在我,当我试图把我的大回购只收到此错误信息。当我将单个文件推送到三个文件仓库时,它完美无瑕。那是怎么回事?!?!

注意:我在一个共享的Web主机上,但是我具有SSH访问服务器的权限。如果我错过了你需要的东西,让我知道,我可以发布信息...

感谢您的任何帮助!

+2

安装在远程主机上的哪个版本的git的错误组?你运行的是哪个版本的git? 'git --version'应该回答这个问题。 – larsks

+0

git版本1.6.4.4 –

+0

git是否可以在远程机器上的PATH中执行?请务必检查您是否未以交互方式登录... – MikeK

回答

0

这意味着在远程机器上找不到git-index-pack。它在你的道路上吗?尝试通过SSH命令运行以下命令:

git --exec-path 

换句话说,运行以下命令:

ssh [email protected] git --exec-path 

,看看是否可行。

0

得到了类似的东西,包括

error: unpack failed: index-pack abnormal exit 

原来我对服务器上的共享资源库设置一些奇怪的权限 - 组不具有写权限的一切。一个简单的

chmod -R g+w <repo> 

做的伎俩。

还做了

chown -R :<group> <repo> 
find <repo> -type d -exec chmod g+s {} \; 

,以确保没有被设置为