1. 安装
1.1 安装Git-Core:

sudo apt-get install git-core

1.2 安装 Gitosis

sudo apt-get install python-setuptools

mkdir ~/src 
cd ~/src 
git://github.com/res0nat0r/gitosis.git
  
cd gitosis 
sudo python setup.py install

1.3 增加名为Git的用户

sudo adduser --system --shell /bin/sh  --gecos 'git version control' --group --disabled-password --home /home/git git

1.4 上传公钥(如果没有,用 ssh-keygen -t rsa 生成)到Git服务器
本地客户端操作

scp .ssh/id_rsa.pub git@YOUR_SERVER:/home/git
(YOUR_SERVER换成你服务器IP或域名)

Git服务器操作

sudo -H -u git gitosis-init < /home/git/id_rsa.pub

sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update

2. 配置
2.1 修改配置文件

git clone git@YOUR_SERVER:gitosis-admin.git

成功后,在本地将有一个gitosis-admin目录,里面有gitosis.conf,keydir。
编辑gitosis.conf,添加如下内容

[group rebill.info] 
writable = rebill.info

members = rebill@rebill-laptop

然后,提交修改

git commit -a -m "created a new repository"

git push
2.2 新建Git项目

mkdir rebill.info 
git init 
git remote add origin git@YOUR_SERVER:rebill.info.git

git add . 
git commit -a -m "initial import"

git push origin master:refs/heads/master

2.3 添加Git成员

cd gitosis-admin 
cp ~/user_a.pub keydir/

cp ~/user_b.pub keydir/

cp ~/user_c.pub keydir/

git add keydir/user_a.pub keydir/user_b.pub keydir/user_c.pub

修改gitosis.conf

[group mobile] 
writable = android_project

members = user_a user_b

[group mobile_ro] 
readonly = android_project

members = user_c
现在 user_c 可以克隆和获取更新,但 Gitosis 不会允许他向项目推送任何内容。
提交修改

git commit -a -m "Granted Alice and Bob commit rights to FreeMonkey"

git push
这样,其它成员就可以获取代码了

git clone git@YOUR_SERVER:android_project.git

 青春就应该这样绽放  游戏测试:三国时期谁是你最好的兄弟!!  你不得不信的星座秘密

[转载]Ubuntu下Git服务器安装与配置的更多相关文章

  1. Ubuntu下SVN服务器安装和配置

    一.SVN安装1.安装包$ sudo apt-get install subversion 2.添加svn管理用户及subversion组#添加用户$ sudo adduser  svnuser#添加 ...

  2. Ubuntu下git的安装与使用

    Ubuntu下git的安装与使用 Ubuntu下git的安装与使用与Windows下的大致相同,只不过个人感觉在Ubuntu下使用git更方便. 首先,确认你的系统是否已安装git,可以通过git指令 ...

  3. linux下WEB服务器安装、配置VSFTP

    转载  http://www.oicto.com/centos-vsftp/?tdsourcetag=s_pcqq_aiomsg linux下WEB服务器安装.配置VSFTP 由 admin · 发布 ...

  4. 设置ubuntu 下git 的用户名和邮箱

    设置ubuntu 下git 的用户名和邮箱 摘自  慢慢修远路,上下求索心http://yanshaozhi.iteye.com/blog/386752 虽然我没看怎么明白 但我用第一总方法就设置好了 ...

  5. ubuntu下git安装及使用

    ubuntu下git安装及使用   其实,好几个月前,就已经安装好了,可是一直搁置在那儿,所以密码等一些其它细节都忘的差不多了,所以今天就重新部署了一下,并开始积极使用......... 1,git ...

  6. linux,windows,ubuntu下git安装与使用

    ubuntu下git安装与使用:首先应该检查本地是否已经安装了git ,如果没有安装的话,在命令模式下输入 sudo apt-get install git 进行安装 输入git命令查看安装状态及常用 ...

  7. windows和ubuntu下git commit提交后如何保存和退出,回到命令行

    问题一: windows下git commit后会进入vim界面,不知道怎么操作 解决办法: 1.输入小写字母i,此时进入编辑模式,可以输入你想输入的内容 2.按下esc键,此时退出编辑模式,输入英文 ...

  8. ubuntu下安装mysql和配置远程访问

    ubuntu下安装mysql和配置远程访问   下载安装mysql sudo apt-get install mysql-client mysql-server 安装的时候会提示要设置root密码,如 ...

  9. 【亲测可用,亦可配置同一平台的不同账号,例如阿里云的两个不同账号】Windows下Git多账号配置,同一电脑多个ssh-key的管理

    Windows下Git多账号配置,同一电脑多个ssh-key的管理   这一篇文章是对上一篇文章<Git-TortoiseGit完整配置流程>的拓展,所以需要对上一篇文章有所了解,当然直接 ...

随机推荐

  1. Focal Loss(RetinaNet) 与 OHEM

    Focal Loss for Dense Object Detection-RetinaNet YOLO和SSD可以算one-stage算法里的佼佼者,加上R-CNN系列算法,这几种算法可以说是目标检 ...

  2. MFC/Windows API 使用过的函数(持续更新)

    /*******************使用默认画笔对象**************************** // //绘制矩形 pDC->MoveTo(50, 50); //返回值是一个指 ...

  3. 【站长起步】阿里云+Ubuntu+java 7+ Tomcat 7 +Nginx1.6 +Mysql 5.6

    本文记载了在阿里云ubuntu+java 镜像环境下搭建站点server环境中遇到的的错误和解决方式. 作为一个年轻人,是肯定不会去用alidata这个现成的环境的.怎么办? 所有删除.立刻创建一个 ...

  4. 概率图模型学习笔记:HMM、MEMM、CRF

    作者:Scofield链接:https://www.zhihu.com/question/35866596/answer/236886066来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商 ...

  5. Java try-catch-finally 返回值

    1.只有 try-catch 的情况下,如果不发生异常,则会返回  try 中的 return ; 如果发生异常,则会返回  catch 中的  return, try 中的 return 被盖掉; ...

  6. Spring整合Redis时报错:java.util.NoSuchElementException: Unable to validate object

    我在Spring整合Redis时报错,我是犯了一个很低级的错误! 我设置了Redis的访问密码,在Spring的配置文件却没有配置密码这一项,配置上密码后,终于不报错了!

  7. python网络爬虫 - 如何伪装逃过反爬虫程序

    有的时候,我们本来写得好好的爬虫代码,之前还运行得Ok, 一下子突然报错了. 报错信息如下: Http 800 Internal internet error 这是因为你的对象网站设置了反爬虫程序,如 ...

  8. vuejs 过渡效果

    过渡效果 https://cn.vuejs.org/v2/guide/transitions.html http://router.vuejs.org/zh-cn/advanced/transitio ...

  9. Android versionCode和versionName的区别

    简单的说,versionCode是给机器看的,versionName是给人看的.更新的时候,机器根据versionCode判断是升级还是降级,即使versionName(版本号)比以前的高,但是ver ...

  10. 算法笔记_222:串中取3个不重复字母(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 从标准输入读入一个由字母构成的串(不大于30个字符). 从该串中取出3个不重复的字符,求所有的取法. 取出的字符,要求按字母升序排列成一个串. 不同 ...