当前位置: > Linux服务器 > Git >

Win7、CentOS部署Git环境

时间:2015-10-06 09:46来源:www.it.net.cn 作者:IT

我并非git的极端崇拜者,在上个礼拜之前我对git还知之甚少(因为SVN基本满足了我对版本控制的各种需要,且TortoiseSVN客户端各种方便)。但由于出现了新的需求,最近在折腾git~~花了很多时间,走了很多弯路。所以我在这里简单的讲一下怎么在Win7、CentOS下部署Git环境,希望想部署git的同学在实际操作过程中能比我顺利~~由于本人也是现学现卖,如有不对的地方,还希望大家不吝赐教~~

在这里我要写的是CentOS下编译安装Git、Win7下安装Git、Win7下生成SSH公钥、Win7下SSH登录Git服务器和利用ssh-agent实现SSH免密码登陆

1.CentOS编译安装Git

系统环境:CentOS 6.3         

依赖类库:

 
1
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker

下载地址:

Git源码:https://www.kernel.org/pub/software/scm/git/git-2.2.2.tar.gz (当前最新的)   

编译安装:

 
1
2
3
4
5
wget https://www.kernel.org/pub/software/scm/git/git-2.2.2.tar.gz 
tar -zxvf git-2.2.2.tar.gz
cd git-2.2.2
make prefix=/usr/local all
sudo make prefix=/usr/local install

安装完成:

2.Win7下安装Git

系统环境:Win7

下载地址:

http://www.git-scm.com/download/win

      安装过程:

                 Win7下安装一路Next就好了,这里不做详述~

3.Win7下生成SSH公钥

    Win7安装好Git之后运行Git Bash

 
1
2
3
4
输入命令“ssh-keygen –t rsa”  >> 回车
保存地址用默认                >> 回车
输入密码                     >> 回车
再次输入密码                  >> 回车

 

在刚才保存的目录下就会生成两个文件:

id_rsa.pub(公钥)

id_rsa(私钥)

PS : 

1. 私钥是保存在自己电脑上的文件,公钥要提交到Git服务器上,后面我会再做叙述~

2. Linux环境的git客户端时可以在生成密钥时加上密码(可以用ssh-agent设置无密码登录)

   Windows环境客户端时不建议设置密码,否则每次push pull的时候都要输入密码~

4.Win7下SSH登陆Git服务器

首先Git服务器(CentOS环境)还要进行一些设置:

1.添加Git用户

 
1
2
3
useradd git –G git –p xxxxx (xxxxx是密码)
su git
cd ~

 

       2.创建服务端Git仓库

 
1
2
3
4
5
6
mkdir /data/git
ln –s /data/git ~/git
cd git
mkdir xxx.git(项目名)
cd xxx.git
git –-bare init

3.        Git用户导入公钥

Git用户目录下如果没有.ssh目录则创建,权限设置为700

.ssh下如果没有authorized_keys 文件则创建一个空文件, 权限设置为600

上传步骤3中生成的id_rsa.pub(公钥)到Git用户目录并导入

 
1
cat ~/id_rsa.pub >> authorized_keys

4.        创建客户端Git仓库

 
1
2
cd /d/data/www/yearnfar/xxx (木有目录自行创建)
git init

写一个README并加入到本地Git中

 
1
2
git add README
git commit –m “提交README文件”

5.        提交到Git服务端

 
1
2
git Remote add xxx git@115.28.34.yyy:git/xxx.git
git push xxx master

5. ssh-agent实现免密码登陆

安装ssh-agent:

添加ssh-agent.sh 文件到/etc/profile.d目录

 
1
2
3
4
5
6
7
8
9
10
11
12
if [ -f ~/.agent.env ]; then
         . ~/.agent.env >/dev/null
         if ! kill -0 $SSH_AGENT_PID >/dev/null 2>&1; then
         echo "Stale agent file found. Spawning new agent..."
         eval `ssh-agent |tee ~/.agent.env`
         ssh-add
fi
else
         echo "Starting ssh-agent..."
         eval `ssh-agent |tee ~/.agent.env`
         ssh-add
fi

只要没重启服务器,只要输入一次密码即可

 


(责任编辑:IT)
------分隔线----------------------------