[转载]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完整配置流程>的拓展,所以需要对上一篇文章有所了解,当然直接 ...
随机推荐
- 初识EntityFramework6【转】
http://www.cnblogs.com/wujingtao/p/5401132.html 什么是EF? EF是一种ORM(Object-relational mapping)框架,它能把我们在编 ...
- 如何同步两台Linux机器的时间?
除了用NTP服务器之外,下面的命令可以做到让几台机器的时间都跟一台机器同步. date --set="$(ssh root@10.245.110.101 date)" 参考资料 = ...
- Android -- com.android.providers.media,external.db
external.db android是管理多媒体文件(音频.视频.图片)的信息是在/data/data/com.android.providers.media下的数据库文件external.db. ...
- 【Java】SAX解析characters 错误截取问题的解决
SAX解析characters 错误截取问题的解决 SAX characters bug_百度搜索 SAX解析characters 错误截取问题的解决 - CSDN博客 [Android]SAX解析之 ...
- AI-终极算法-遗传算法
- 关于LayoutInflater的错误用法(警告提示:Avoid passing null as the view root)
项目中用LayoutInflater加载xml布局一直飘黄警告,上网搜了搜发现没有解释明白的,到是找到了一篇外国的博文,但是竟然是英文...幸好以前上学时候的英语不是很差加上谷歌的辅助,简单翻一下! ...
- zoj 2876 Phone List
#include <stdio.h> #include <string.h> #include <stdlib.h> #define ZERO 0 const in ...
- Unity3d -> Xcode 多个渠道版本发布文件合并
第一步: Users/xxx/.jenkins/jobs/projectname/workspace/build/iOS_iphone 把这里面所有文件拷贝到生成的xcode 工程下的Data目录 如 ...
- jquery.cookie.js结合asp.net实现最近浏览记录
一.html代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...
- Python过滤emoji
参考博客:http://my.oschina.net/jiemachina/blog/189460 1. 将emoji表情替换为指定字符串 import re def filter_emoji(des ...