git push失败了

Ers*_*yan 0 git version-control solaris

我在部门的sun solaris服务器上创建了集中式git存储库

mkdir /var/git/myapp.git
cd /var/git/myapp.git
git --bare init
Run Code Online (Sandbox Code Playgroud)

上周我为我们当前正在开发的3个应用程序做了这个,并将这些应用程序的主人推送到了服务器

git remote add origin ssh://myserver.com/var/git/myapp.git
git push origin master
Run Code Online (Sandbox Code Playgroud)

这工作并创建了存储库,可以克隆/拉出它们

本周我尝试创建一个测试应用程序和存储库,以便我可以测试使用capistrano部署这些应用程序我遵循相同的步骤

在服务器上:

mkdir /var/git/testapp.git
cd /var/git/testapp.git
git --bare init
Run Code Online (Sandbox Code Playgroud)

在当地:

cd /path/to/testapp
git remote add origin ssh://myserver.com/var/git/testapp.git
git push origin master
Run Code Online (Sandbox Code Playgroud)

我得到了

Counting objects: 64, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (56/56), done.
ld.so.1: git: fatal: relocation error: file /usr/local/bin/git: symbole deflateBound: referenced symbol not found
fatal: sha1 file '<stdout>' write error: Invalid argument
error: pack-objects died with strange error
error: failed to push some refs to 'ssh://myserver.com/var/git/myapp.git'
Run Code Online (Sandbox Code Playgroud)

认为这是我的设置错误我删除了我的本地机器上的testapp.git和testapp并从头开始testapp相同的结果所以我试图从现有的一个应用程序推出,我得到相同的结果,即使上周我可以推送到服务器.

有任何想法吗?

Ark*_*nez 8

我说你在服务器上的git安装不好.

它试图在那里执行/ usr/local/bin/git并且缺少某些符号,我敢打赌你的库不匹配.

您的repo本身没有任何问题,它是git安装,尝试在服务器中手动执行/ usr/local/bin/git.

也许您在shell中使用的git二进制文件不是/ usr/local/bin/git,或者是某些带有必需.so库的失败权限.