Ubuntu 上git 服务的搭建记录
来源:互联网 发布:爆破手机号软件 编辑:程序博客网 时间:2024/05/17 03:13
一,远程服务器端的配置(server)
1 安装git与openssh
sudo apt-get install git-core openssh-server openssh-client
2 添加git用户,并将该用户作为所有代码仓库和用户的权限管理者:
sudo useradd -m git
sudo passwd admin2012
3 建立一个git仓库的存储点,它的拥有者为git,权限为700
sudo mkdir /home/repo
sudo chown git:git /home/repo
sudo chmod 700 /home/repo
4 安装配置gitosis
(1)初始化服务器的git用户
git config --global user.name "myname" (myname 替换成你的用户名)
git config --global user.email "myname@server" (myname@server 替换成你的邮箱)
(2) 安装gitosis
1)安装python的setup tool
sudo apt-get install python-setuptools
2) 获得gitosis 软件包(https://github.com/res0nat0r/gitosis.git)
git clone git:https://github.com/res0nat0r/gitosis.git
cd gitosis
sudo python setup.py install
3) 默认状态下gitosis会将git 仓库放在git用户的home下,所以做一个链接到/home/repo
su git
ln -s /home/repo /home/git/repositories
二 客户端机器上的配置(client)
1 使用ssh-keygen 生成key
ssh-keygen -t rsa
2 把客户端的key远程复制到服务器上
cat ~/.ssh/id_rsa.pub | ssh -i ~/.ssh/your_pemfile.pem ubuntu@your_ip_addr "cat>> /tmp"
三 在服务上再次配置gitosis(server)
1 初始化gitosis
sudo chmod a+r /tmp/id_dsa.pub
sudo -H -u git gitosis-init < /tmp/id_dsa.pub
sudo -s
cd /home/git/repositories
cd gitosis-admin.git/
sudo chmod 755 /data/repo/gitosis-admin.git/hooks/post-update
exit
四 创建测试项目 teamwork.git (server)
su git
cd /data/repo
mkdir teamwor.git
git init --bare
exit
五 在客户端修改更新服务器上的gitosis的配置 (client)
(1) git 权限管理本身是通过一个git仓库来管理的,把gitosis-admin.git克隆下来
git clone git@<server>:gitosis-admin.git
cd gitosis-admin
(2) 把别的用户的用公钥添加进来 ,临时把pub文件放在~/temp下
cp ~/temp/id_rsa.pub ./keydir/<user2@pc2>.pub
(3) 修改权限配置
vim gitosis.conf
----------------------------------------
[gitosis]
[groupgitosis-admin]
writable = gitosis-admin
members = ubuntu@serveruser1@pc1 用户一
[group hello] //分组
writable = teamwork //操作仓库的权限
members =user1@pc1 user2@pc2 用户
(4)更新提交到服务器
在gitosis-admin目录下
git add .
git commit -a -m "add new user"
git push origin master
mkdir teamwork-ori
cd teamwork-ori
git init
vim REAME
git add .
git commit -a -m "initial version"
git remote add origin master
注意:如果gitosis中的用户名和keydir里面的key名字没有完全对应上的话,可能会出现如下错误。
ERROR:gitosis.serve.main:Repositoryread access denied
fatal: The remote end hung up unexpectedly
- Ubuntu 上git 服务的搭建记录
- ubuntu上开启ssh服务,并搭建基于ssh的git服务器
- Ubuntu上git服务器的搭建
- ubuntu svn服务搭建记录
- Ubuntu上搭建git服务器
- ubuntu上搭建git服务器
- Ubuntu上搭建git服务器
- Ubuntu上搭建Git服务器
- ubuntu 上搭建 ftp 记录
- Ubuntu 12.04上PPPoe服务的搭建和使用
- Ubuntu简单搭建git私有服务
- 在共享主机上搭建git服务
- 在Ubuntu14上搭建Git服务
- CentOS7 上搭建Git仓库服务
- ubuntu上git服务器搭建(转载)
- 在Ubuntu上搭建git+gitolite server
- 在Ubuntu 12.04 上 搭建 Git服务器
- Ubuntu上搭建本地Git服务器
- 快排
- 数学常数e的含义
- 内核启动全过程
- Spark-0.8新增Fair Scheduler资源调度
- 通过判断优先级计算包含[0-9],加减乘除和括号的的字符串
- Ubuntu 上git 服务的搭建记录
- SQL中 and or优先级问题(转)
- oracle exp imp 导入 正在跳过表 plsql 导入表 成功终止 数据 被导入
- 【discuzx2】home_space.htm模板文件解析
- POJ1298 解密,字符移五位输出
- 大话设计模式--访问者模式 Visitor -- C++实现实例
- Documentation/dvb/readme.txt
- 用户进程,用户线程,内核线程
- Tomcat通过数据源访问数据库