发布于 2015-05-28 22:54:59 | 392 次阅读 | 评论: 1 | 来源: PHPERZ

这里有新鲜出炉的Git教程,程序狗速度看过来!

Git分布式版本控制系统

Git是一款自由和开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。


错误1:在执行 git clone YourGitName@YourIP:gitolite-admin 提示仓库不存在,或者没有权限。

于是以为别人的文档写的不对,因为真是的 git 仓库是在你当时执行,gitolite setup -pk $HOME/scott.pub
命名时候的用户 home目录下面的 repositories 文件夹下,当然可以指定,于是就想当然的执行以下命令:
git clone YourGitName@YourIP:/home/YourName/gitolite-admin.git
结果也确实能够clone下来。
接下来添加用户,添加权限,add commit 哦哦 发现 push 的时候总是报错,具体的错误就是说有一个环境变量没有设置。
于是苦逼的找资料,其实是下面的原因造成的:

因为你刚开始安装 git 的时候,还没有用 gitolite 的时候,已经在 authorized.keys 里面添加了 id_rsa.pub, 这时候gitolite去找的时候找不到:
你知道删除之前的,只留下:

**# gitolite start**
**# gitolite end**

直接的就可以了,而且一定要执行 git clone YourGitName@YourIP:gitolite-admin 这个命令。

错误2 上面的问题解决了,但是执行 git clone YourGitName@YourIP:gitolite-admin 还是报错,fatal: unrecognized command “/usr/share/gitolite/gl-auth-command admin”

这个命令找不到?直接在linux里面敲入,发现可以啊,又是什么鬼问题?尝试了很久,找了很多文档,以为是配置问题,其实还是安装git时候的遗留问题。
因为这个用户被设置不能登入,不能登入就是不能执行命令。
为什么不能登入,还记得安装git服务的时候那文章千篇一律的说:为了保证安全,将 /etc/passwd/中git用户登录改为 /usr/bin/git-shell 原本是 /bin/bash
这对gitolite来说就是一个坑,千万别跳进去。我跳了,你们别跳,特意记下来,改回原来的,一切ok!



最新网友评论  共有(1)条评论 发布评论 返回顶部
xgdpfa 发布于2016-04-02 02:48:28
还能再仔细点吗?
支持(0)  反对(0)  回复

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务