Centos 6.3 部署GIT服务器

前言

之前各用各的GitHub,因工作需要,不得不在局域网内架设一个GIT服务器供程序猿协作开发,在这里记录下我的安装过程。

 

1.先在服务器端配置环境

 

直接用yum 安装:

yum install gettext-devel
yum install openssl-devel

yum install perl-devel

yum install python

yum installpython-setuptools

下面的我好像没装也可以用,可高手们说一起装上!!!

yum install curl-devel
yum install expat-devel
yum install zlib-devel
可以串起来一起装,没被墙掉没什么问题的!

 

2.在服务器端安装GIT

yum install git

git --version //可以显示版本号表示安装成功了!

 

3.在服务器端安装gitosis

现在可以用git了

[root@w_centos ~]#git clone git://github.com/res0nat0r/gitosis.git //下载

cd gitosis //进入目录

[root@w_centos gitosis]#python setup.py install  //安装

//显示Finished processing dependencies for gitosis==0.2表示安装成功!

 

4.在客户端(Windows工作机)上安装git,再生成密钥并上传到服务器端

生成密钥:

$ssh-keygen -t rsa -C “邮箱地址”

在C:\Users\用户名\.ssh目录下找到id_rsa.pub并上传到服务器端的根目录/tmp文件夹中

 

5.在服务器端生成git账户,用git账户初始化gitosis

创建一个git账户作为git版本管理专用:

[root@w_centos ~]#useradd -c 'GIT版本管理专用账户' -m -d /home/git -s /bin/bash git

设置git账户密码:

[root@w_centos ~]#passwd git

转换到 git用户

su - git

导入第4步上传的密钥到gitosis

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/

 

6.在客户端管理服务器端的GIT项目

随便找个位置右键选Git Bash Here

输入:git clone git@10.10.10.100:gitosis-admin.git //10.10.10.100为服务端IP

这样就可以把服务端的项目配置clone回来

客户端工作机的密钥在keydir目录中,有新的工作机添加到这个目录下

在gitosis.conf的结尾添加项目

[group test-git]            # 具有写权限的组名称
writable = test-git         # 该组可写的项目名称
members = 
xx@xxx.com  aa@aaa.com     #该组的成员(密钥用户名) 多个用户协同开发时,以空格分隔

# 如果要增加只读的组 参考如下
# [group test-git-readnoly]          # 具有都权限的组名称
# readonly = test-git                # 该组只读的项目名称
# members = 
xx@xxx.com     # 该组的成员


#提交修改
git add .
git commit -a -m "添加项目"
git push


7.提交项目

新建一个test-git目录

git init

放些文件到这个文件夹在

git commit -a -m "init test-git" 

git remote add origin git@10.10.10.100:test-git.git 

git push origin master

成功!!!

 

无法添加协同开发用户密钥时注意以下几点:

 

1.配置 本地环境

  git config --global user.name "Name"
  git config --global user.email "邮箱"
  git config -l # 查看配置

 

2. 不能以数字开头的名称如33333@qq.com

 

3.push 的时候只能用 git push,如果git push origin master这样的话不会添加到authorized_keys文件中去。

 

4.Git可以在你提交时自动地把行结束符CRLF转换成LF,而在签出代码时把LF转换成CRLF。用core.autocrlf来打开此项功能,如果 是在Windows系统上,把它设置成true,这样当签出代码时,LF会被转换成CRLF:

$ git config --global core.autocrlf true

Linux或Mac系统使用LF作为行结束符,因此你不想 Git 在签出文件时进行自动的转换;当一个以CRLF为行结束符的文件不小心被引入时你肯定想进行修正,把core.autocrlf设置成input来告诉 Git 在提交时把CRLF转换成LF,签出时不转换:

$ git config --global core.autocrlf input

这样会在Windows系统上的签出文件中保留CRLF,会在Mac和Linux系统上,包括仓库中保留LF。

如果你是Windows程序员,且正在开发仅运行在Windows上的项目,可以设置false取消此功能,把回车符记录在库中:

$ git config --global core.autocrlf false

 

5.用"写字板"工具编辑,"记事本"有可能会出错,出现换行要注意。

 

6.有些系统(中文用户账号)生成的密钥无法添加进去

 

解决办法:

 

手动添加 $ cat /tmp/xxx@xxx.com.pub >> ~/.ssh/authorized_keys

 

 参考:

<a target=_blank href="http://blog.sina.com.cn/s/blog_904dee7f0101gait.html">http://blog.sina.com.cn/s/blog_904dee7f0101gait.html</a>


 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值