环境:Ubuntu12
1. 安装ssh, git
ssh:
apt-get install ssh
git:
apt-get install git
2. 创建项目(Demo为例)
cd 仓库目录
git --bare init Demo.git
3. clone项目
git clone serverUsername@serverIP:/仓库目录/Demo.git
4. gitolite权限管理(服务器以gitUser账号为例)
a. 为什么使用gitolite
git本身没有权限管理,使用做gitolite权限管理
b. 下载,安装($HOME为登录用户的目录)
git clone git://github.com/sitaramc/gitolite
mkdir bin
gitolite/install -ln $HOME/bin
c. 权限配置
I. 开发端获取id_rsa.pub文件,并上传到服务器
ssh-keygen
II. 生成权限控制服务器
gitolite setup -pk user1.pub (
会生成$HOME/repositories/gitolite-admin.git,$HOME/repositories/testing.git项目
gitolite-admin.git:权限管理项目
testing.git :测试项目
其他开发项目可以在$HOME/repositories/目录下创建,通过(git --bare init 项目名.git)
d. 权限管理
user1端:git clone serverUsername@serverIP:gitolite-admin.git
##如果没有用户有权限,可以配置服务器gitolite-admin.git/gl-conf文件
e. 账号设置连接权限(git账号为例):
修改文件/etc/passwd
git:x:1001:1001:,,,:/home/git:/bin/bash
改为:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
f. 查看文件
git cat-file -p 8a+文件名
例如:objects/8a/67f6bdb56d59507d09455821dbbe0115cf107f
命令:git cat-file -p 8a67f6bdb56d59507d09455821dbbe0115cf107f
1. 安装ssh, git
ssh:
apt-get install ssh
git:
apt-get install git
2. 创建项目(Demo为例)
cd 仓库目录
git --bare init Demo.git
3. clone项目
git clone serverUsername@serverIP:/仓库目录/Demo.git
4. gitolite权限管理(服务器以gitUser账号为例)
a. 为什么使用gitolite
git本身没有权限管理,使用做gitolite权限管理
b. 下载,安装($HOME为登录用户的目录)
git clone git://github.com/sitaramc/gitolite
mkdir bin
gitolite/install -ln $HOME/bin
c. 权限配置
I. 开发端获取id_rsa.pub文件,并上传到服务器
ssh-keygen
II. 生成权限控制服务器
gitolite setup -pk user1.pub (
会生成$HOME/repositories/gitolite-admin.git,$HOME/repositories/testing.git项目
gitolite-admin.git:权限管理项目
testing.git :测试项目
其他开发项目可以在$HOME/repositories/目录下创建,通过(git --bare init 项目名.git)
d. 权限管理
user1端:git clone serverUsername@serverIP:gitolite-admin.git
权限管理:配置conf/gitolite.conf
添加新的用户:keydir目录下添加此用户的id_rsa.pub,修改为此用户的名称
保存,并提交:git commit -a, git push
##如果没有用户有权限,可以配置服务器gitolite-admin.git/gl-conf文件
e. 账号设置连接权限(git账号为例):
修改文件/etc/passwd
git:x:1001:1001:,,,:/home/git:/bin/bash
改为:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
f. 查看文件
git cat-file -p 8a+文件名
例如:objects/8a/67f6bdb56d59507d09455821dbbe0115cf107f
命令:git cat-file -p 8a67f6bdb56d59507d09455821dbbe0115cf107f