[转载]Ubuntu下Git服务器安装与配置
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服务器
本地客户端操作
(YOUR_SERVER换成你服务器IP或域名)
scp .ssh/id_rsa.pub git@YOUR_SERVER:/home/git
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服务器安装与配置的更多相关文章
- Ubuntu下SVN服务器安装和配置
一.SVN安装1.安装包$ sudo apt-get install subversion 2.添加svn管理用户及subversion组#添加用户$ sudo adduser svnuser#添加 ...
- Ubuntu下git的安装与使用
Ubuntu下git的安装与使用 Ubuntu下git的安装与使用与Windows下的大致相同,只不过个人感觉在Ubuntu下使用git更方便. 首先,确认你的系统是否已安装git,可以通过git指令 ...
- linux下WEB服务器安装、配置VSFTP
转载 http://www.oicto.com/centos-vsftp/?tdsourcetag=s_pcqq_aiomsg linux下WEB服务器安装.配置VSFTP 由 admin · 发布 ...
- 设置ubuntu 下git 的用户名和邮箱
设置ubuntu 下git 的用户名和邮箱 摘自 慢慢修远路,上下求索心http://yanshaozhi.iteye.com/blog/386752 虽然我没看怎么明白 但我用第一总方法就设置好了 ...
- ubuntu下git安装及使用
ubuntu下git安装及使用 其实,好几个月前,就已经安装好了,可是一直搁置在那儿,所以密码等一些其它细节都忘的差不多了,所以今天就重新部署了一下,并开始积极使用......... 1,git ...
- linux,windows,ubuntu下git安装与使用
ubuntu下git安装与使用:首先应该检查本地是否已经安装了git ,如果没有安装的话,在命令模式下输入 sudo apt-get install git 进行安装 输入git命令查看安装状态及常用 ...
- windows和ubuntu下git commit提交后如何保存和退出,回到命令行
问题一: windows下git commit后会进入vim界面,不知道怎么操作 解决办法: 1.输入小写字母i,此时进入编辑模式,可以输入你想输入的内容 2.按下esc键,此时退出编辑模式,输入英文 ...
- ubuntu下安装mysql和配置远程访问
ubuntu下安装mysql和配置远程访问 下载安装mysql sudo apt-get install mysql-client mysql-server 安装的时候会提示要设置root密码,如 ...
- 【亲测可用,亦可配置同一平台的不同账号,例如阿里云的两个不同账号】Windows下Git多账号配置,同一电脑多个ssh-key的管理
Windows下Git多账号配置,同一电脑多个ssh-key的管理 这一篇文章是对上一篇文章<Git-TortoiseGit完整配置流程>的拓展,所以需要对上一篇文章有所了解,当然直接 ...
随机推荐
- iOS开发-音乐播放(AVAudioPlayer)
现在的手机的基本上没有人不停音乐的,我们无法想象在一个没有声音的世界里我们会过的怎么样,国内现在的主流的主流网易云音乐,QQ音乐,酷狗,虾米,天天基本上霸占了所有的用户群体,不过并没有妨碍大家对音乐的 ...
- 怎样用纯HTML和CSS更改默认的上传文件按钮样式
如果你曾经试过,你就会知道,用纯CSS样式加HTML实现统一的上传文件按钮可能会很麻烦.看看下面的不同浏览器的截图.很明显的,他们长得很不一样. 我们的目标是创造一个简洁,用纯CSS实现的,在所有浏览 ...
- Java方法containsAll学习
有时候我们需要判断B链表是不是A链表的子集,我们可以使用A.containsAll(B)来判断,当返回值是true的时候就表明B链表是A链表的子集,当返回值是false时候就表明B链表不是A链表的子集 ...
- DNS预解析dns-prefetch提升页面载入速度优化前端性能
当浏览器请求一个URL的时候,通过firebug我们可以发现大概有以下几个过程:阻挡.域名解析.建立连接.发送请求.等待响应.接收数据.后面四个跟用户的网络情况和你的服务器处理速度有关,本文重点说说前 ...
- mongoose系列——几行代码实现CRUD
1. nodejs 确实好用,mongoose封装了mongodb,代码很简洁. const mongoose = require('mongoose'); mongoose.connect(&quo ...
- Visual Studio 开始支持编写 Android 程序并自带 Android 模拟器【转载】
原文地址 本文内容 为什么需要一个 Android 模拟器 针对 Visual Studio Android 模拟器的调试 Visual Studio Android 模拟器的传感器模拟和其他功能 A ...
- maven 管理
http://www.cnblogs.com/qq78292959/p/3711501.html
- 关于for in和for循环的遍历
今日看W3C的javascript教程,发现了这样的有趣的遍历方法. 第一是for in for (x in myArray) { document.write(myArray[x] + " ...
- postman发送post请求
在地址栏里输入请求url:http://127.0.0.1:8081/getuser 选择“POST”方式, 点击''body", ''form-data", 添加key:user ...
- hdu4403A very hard Aoshu problem 线段树
//给一个长度为大于2小于15的字符串 //在当中间加'+'或'='使得其成为一个等式的方法的个数 //枚举等号位置.暴力搜索加号加的位置 #include<cstdio> #includ ...