环境:centos7

废话不多说,直接上教程:

检查服务器上是否已经按照了git

1
rpm -qa git

安装git

1
yum install git

安装过程弹出的确认提示,输入y即可

安装完成,检查git版本

1
git --version

初始化仓库

1
git --bare /data/MyRepo.git

克隆远程仓库

本地安装git客户端后(这个应该都会),进入bash:

1
git clone root@[IP]:/opt/MyRepo

这里我们使用了linux root用户进行克隆,所以不存在权限问题,只需要输入相应密码就可以直接克隆

添加一个git_user用户

1
2
3
useradd git_user    //创建用户(passwd设置密码)
groupadd git_group //创建组
usermod -a -G git_group git_user //将用户加入组git_group(-a:append表示不必离开原有的其他组)

创建的非root用户需要使用SSH KEY进行访问

一般使用github的人电脑的C://user/[用户名]/文件夹下都会有一个.shh文件夹(之前没有用过git的,就自行参考“生成SSH密钥教程”),这就是github上放的那个公钥吧。github也是一个git服务器,它可以放公钥以致于我们可以用私钥去访问它,同理我们的私服上面也需要放这个公钥,以致我们可以用私钥去访问它。我们就直接用这个现成的公钥和私钥吧,步骤:

  1. 打开里面的id_rsa.pub文件,将其内容复制到linux服务器上/home/git_user/.ssh/authorized_keys位置(如果没有该文件,需手动创建,另内容只有一行,如果不止一行请自行检查格式)。
  2. 该文件可以放入多个公钥,另起一行粘贴即可。这样就可以达到多个客户端用各自的秘钥对来访问git服务器了。

使用git_user用户克隆远程仓库

1
git clonegit_user@112.74.55.239:/opt/MyRepo

注意点:

  1. 你使用哪个用户身份去clone远程仓库(如git_user@[IP]使用git_user身份),那就在服
    务器相应home目录下的相应用户文件夹的.ssh/authorized_keys文件中添加公钥(root除外,root的.ssh在根目录的root/目录下)。

  2. 由上而来的私服都是只支持SSH协议的。如果你想在如小乌龟、SourceTree等软件上使用https协议去和服务器交互,可以使用Apache、Nginx等软件将服务器仓库通过80端口映射出来,然后去交互(如Nginx:yum安装Nginx,然后配置conf下的nginx.conf文件即可)。Window系统是否可以使用IIS服务器将仓库映射出来,这个我没试过。

  3. Nginx配置静态文件服务器可参考:http://blog.csdn.net/localhost01/article/details/68967193