接上一篇 建设个人gitserver(一)
本篇讲解 管理员 操作:
1.添加用户:
获取添加用户的公钥:
进入到gitolite-admin/keydir目录,将公钥拷贝到这个目录下面
$git add xxxx.pub
$git commit –m “added a new user”
删除文件
$git rm xxxx.pub
2.为用户添加权限
进入到gitolite-admin/conf目录
$vigitolite.conf
更多权限说明请到 http://gitolite.com/gitolite/gitolite.html
3.远程主机服务器
之前出现的错误是:在库的外面 $gitremote
会出现 fatal:Not a git repository(or any of the parentdirectories):.git,其实就是在说这不是一个库,所以我们要进入到库里面才能运行这条指令。
3.1客户端中进入~/gitolite-admin
$cd gitolite-admin
$git remote 或者 $git remote -v
为了便于管理,Git要求每个远程主机都必须指定一个主机名。git remote命令就用于管理主机名。
3.2 git remote show命令加上主机名,可以查看该主机的详细信息。
$git remote show origin
3.3 git remote add命令用于添加远程主机
如果库没有远程主机,那需要添加远程主机
添加远程Server
#git remote add <主机名> <网址>
#git remote add origin 10.108.49.11
3.4 git remote rm命令用于删除远程主机。
$ git remote rm <主机名>
3.5 git remote rename命令用于远程主机的改名。
$ git remote rename <原主机名> <新主机名>
4.将更改过的gitolite-adminpush到服务器
主要是使用git push命令
git push命令用于将本地分支的更新,推送到远程主机
在库里操作:
$ git push <远程主机名> <本地分支名>:<远程分支名>
注意,分支推送顺序的写法是<来源地>:<目的地>,所以gitpull是<远程分支>:<本地分支>,而gitpush是<本地分支>:<远程分支>。
如果省略远程分支名,则表示将本地分支推送与之存在"追踪关系"的远程分支(通常两者同名),如果该远程分支不存在,则会被新建。
例如:
$git push origin master
上面命令表示,将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被新建。
如果当前分支与远程分支之间存在追踪关系,则本地分支和远程分支都可以省略。
$ git push origin
上面命令表示,将当前分支推送到origin主机的对应分支。
不带任何参数的git push,默认只推送当前分支,这叫做simple方式。此外,还有一种matching方式,会推送所有有对应的远程分支的本地分支。Git 2.0版本之前,默认采用matching方法,现在改为默认采用simple方式。如果要修改这个设置,可以采用git config命令。
$ git config --global push.default matching
# 或者
$ git config --global push.default simple
5.以root用户登录到server服务器查看是否添加
查看用户是否添加成功:
#vi /home/git/.ssh/authorized_keys 查看用户是否添加成功
查看库是否添加成功:
#cd /home/git/repositories
#ls –al 查看是否存在这个库。
如果你能有shell权限,当然你有很多命令可以使用了
#cd /home/git/bin
#./gitolite help 你有很多命令可以使用,
将列出一串使用的命令。