centos git版本服务器配置
在服务器上安装git及做些操作
`
sudo yum install curl-devel expat-devel gettext-devel openssl-devel
zlib-devel perl-devel
`
- 同时下载git-1.8.2.3.tar.gz文件,
sudo tar -zvxf git-1.8.2.2.tar.gz
cd git-1.8.2.2
sudo make prefix=/usr/local/git all
sudo make prefix=/usr/local/git install
```
- 增加软连接
```
sudo ln -s /usr/local/git/bin/* /usr/bin/
git --version #如果能显示版本号,即表示成功`
```
3.在服务器安装gitosis
```
sudo yum install python python-setuptools
cd /usr/local/src
git clone git://github.com/res0nat0r/gitosis.git
cd gitosis
python setup.py install
#显示Finished processing dependencies for gitosis==0.2即表示成功
```
4.在开发机上,生产密钥并上传到服务器上
```
ssh-keygen -t rsa
#一路回车,不需要设置密码
#上传公钥到服务器(默认SSH端口22)
scp ~/.ssh/id_rsa.pub tailin@192.168.100.202:/tmp
```
或编辑`/etc/hosts`文件,在`/etc/hosts`文件里添加如下文本:
```
# local git server
192.168.100.202 zgit
```
然后再上传自己的公钥到服务器
```
scp ~/.ssh/id_rsa.pub tailin@zgit:/tmp/
# 登录到git服务器
ls /tmp/id_rsa.pub #显示已经上传的密钥
```
5.服务器上生成git用户,使用git用户并初始化`gitosis`
```
# 创建git版本管理用户 git
sudo useradd -c 'git version manage' -m -d /home/git -s
bin/bash git
# 更改git用户的密码
sudo passwd git
# su 到git用户
su - git
gitosis-init < /tmp/id_rsa.pub
#显示以下信息即表示成功
#Initialized empty Git repository in
/home/git/repositories/gitosis-admin.git/
#Reinitialized existing Git repository in
/home/git/repositories/gitosis-admin.git/
#删除密钥
rm -rf /tmp/id_rsa.pub
```
6.在个人开发机上导出项目管理
```
mkdir -p /repo
cd /repo
git clone git@zgit:gitosis-admin.git
```
7.在个人开发机增加及设置管理项目
```
cd /repo/gitosis-admin
# 查看git服务器已经上传密钥
ls keydir
cat keydir/ltl@jackliu-ThinkPad.pub
#ltl@jackliu-ThinkPad.pub为已经上传的开发机生成的公密
#显示密钥 最后的字符串为 密钥用户名 这里为 ltl@jackliu-ThinkPad
vim gitosis.conf
#在文件尾增加以下内容
[group
test-git]
# 具有写权限的组名称
writable =
test-git
# 该组可写的项目名称
members = ltl@jackliu-ThinkPad
guangyun.ni@yeepay.com
#该组的成员(密钥用户名) 多个用户协同开发时,以空格分隔
# 如果要增加只读的组 参考如下
# [group
test-git-readnoly]
# 具有都权限的组名称
# readonly =
test-git
# 该组只读的项目名称
# members =
ltl@jackliu-ThinkPad
# 该组的成员
#提交修改
git add .
git commit -a -m "add test-git repo"
git push
```
8.在个人开发机上初始,增加及使用项目test-git
```
cd ~/repo
mkdir test-git
cd test-git
git init
touch readme
git add .
git commit -a -m "init test-git"
git remote add origin git@zgit:test-git.git
git push origin master
```
9.增加协同开发者的公钥key到git服务器
- 执行`cd repo/gitosis-admin/keydir`切换目录
- 把协同开发者的id_rsa.pub 文件里的数据 拷贝到
对应的开发者的`密钥用户名.pub`文件。如把密钥用户名 guangyun.ni@yeepay.com 的 id_rsa.pub
文件中文本 粘贴到 guangyun.ni@yeepay.com.pub 文件里,并保存
- 然后将添加数据后的目录更新到git服务器
```
git add .
git commit -am "add guangyun.ni@yeepay.com.pub
file"
git push origin master
```
centos git版本服务器配置的更多相关文章
- centos下升级git版本的操作记录
在使用git pull.git push.git clone的时候,或者在使用jenkins发版的时候,可能会报类似如下的错误: error: The requested URL returned e ...
- 转:centos下升级git版本的操作记录
https://www.cnblogs.com/kevingrace/p/8252517.html 在使用git pull.git push.git clone的时候,或者在使用jenkins发版的时 ...
- 升级 CentOS git 1.7.1 到 1.7.12
CentOS 源里的 git 版本是 1.7.1,如果远程创建的库所用 git 的版本比它高,在 pull 的时候,如果本地有修改,就会永久阻塞:在 push 的时候就会失败. CentOS 源里的 ...
- centos+git+gitolite 安装和部署
一.部署环境 系统:CentOS 6.4x64 最小化安装 IP:192.168.52.131 git默认使用SSH协议,在服务器上基本上不用怎么配置就能直接使用.但是如果面向团队服务,需要控制权限的 ...
- Git版本控制器使用总结性梳理
Git为何物?Git 是什么?大家肯定会说不就是版本控制器嘛,是的Git是目前世界上最先进的分布式版本控制系统(没有之一).1)那什么是版本控制器?举个简单的例子,比如我们用Word写文章,那你一定有 ...
- centOS7升级git版本到2.7.3
CentOS 自带的git版本太低,需要升级到2.1.2版本以上才能使用gitea. 升级方法: 1.安装所需软件包 yum install curl-devel expat-devel gettex ...
- CentOS下NFS服务器配置教程
说明: NFS服务器: 操作系统:CentOS 5.5 IP:192.168.21.160 nfs网络文件服务器共享目录:/data/osyunwei 目录所有者:www(说明:www为nginx运行 ...
- Centos7升级Git版本
centos 升级 Git 版本 问题描述 centos7 系统默认的 git 安装版本是 1.8,但是在项目构建中发现 git 版本过低,于是用源码编译的方式进行升级.同时该文章也适用于安装新的 g ...
- 萌新笔记——git的问题(error: object file .git/objects/* is empty...)的解决方案及对git版本库文件的了解
由于操作不当,导致git版本库出了大问题,如下所示: error: object file .git/objects/8b/61d0135d3195966b443f6c73fb68466264c68e ...
随机推荐
- Google地图数据算法
Google Maps与Google Earth中的每个级别的每一副图片都有一个URL,例如下面这幅我们学校的图的地址是http://kh.google.com/kh?v=3&t=trstrq ...
- iostream/fstream中的输入输出流指针的绑定,tie函数的使用。
为了兼容c语言的输入输出,c++里面采用tie将输入输出流经行绑定,所以cin/cout并不是独立的.当执行cin时,cout同时会被执行.反之亦然. by defalut,cin is tied ...
- 【存储器相关】RAM、SRAM、SDRAM、ROM、EPROM、EEPROM、Flash存储器区别
常见存储器概念:RAM.SRAM.SDRAM.ROM.EPROM.EEPROM.Flash存储器可以分为很多种类,其中根据掉电数据是否丢失可以分为RAM(随机存取存储器)和ROM(只读存储器),其中R ...
- 【经验】angularjs 实现带查找筛选功能的select下拉框
一.背景 对于select的下拉列表,像国家选择这样的功能,全世界那么多国家,一直拉滚动条多辛苦,眼睛也要盯着找,累!so,为优化用户体验,带查找功能的下拉框是非常非常有必要的.都知道jquery里有 ...
- 关于安装完Node.js 出现node is not dedined 问题
今天想来接触下Node.js 神奇 怀着揣揣的心 从官网下载了windows 的64位mis版本 几个下一步就顺利安装完毕了 接着跟着新手教程走 不懂教程里的 苹果shell 是什么 反正就是检 ...
- Spring cloud项目实践(一)
链接地址:http://sail-y.github.io/2016/03/21/Spring-cloud%E9%A1%B9%E7%9B%AE%E5%AE%9E%E8%B7%B5/ 什么是Spring ...
- VIM 及其插件使用快捷键汇总
我的博客:www.while0.com vim搜索取消高亮 :nohl
- 修饰模式(Decorator结构型)C#简单例子
修饰模式(Decorator结构型)C#简单例子 玩家基本功能是移动.运行等等.BaseAbility新增加功能:1.伤害技能harmAbility:2.阻碍技能BaulkAbility:3.辅助技能 ...
- C#常用的命名规范
C#常用的命名规则 Pascal 规则 每个单词开头的字母大写(如 TestCounter). Camel 规则 除了第一个单词外的其他单词的开头字母大写. 如. testCounter. Upper ...
- Nagios ’status.cgi‘文件权限许可和访问控制漏洞
漏洞名称: Nagios ’status.cgi‘文件权限许可和访问控制漏洞 CNNVD编号: CNNVD-201307-013 发布时间: 2014-02-21 更新时间: 2014-02-21 危 ...