以 Centos 为例搭建 Git 服务器。
1、安装Git
$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel $ yum install git
接下来我们 创建一个git用户组和用户,用来运行git服务:
$ groupadd git $ useradd git -g git
2、在windows客户端创建公钥
打开Git目录下的Git Bash,输入ssh-keygen,回车
生成的密钥放在id_rsa.pub中。
3、创建证书登录
把我们的公钥导入到服务器的/home/git/.ssh/authorized_keys文件里,一行一个。
如果没有该文件创建它:
$ cd /home/git/ $ mkdir .ssh $ chmod 755 .ssh $ touch .ssh/authorized_keys $ chmod 644 .ssh/authorized_keys
4、初始化Git仓库
首先我们选定一个目录作为Git仓库,假定是/home/gitrepo/runoob.git,在/home/gitrepo目录下输入命令:
$ cd /home $ mkdir gitrepo $ chown git:git gitrepo/ $ cd gitrepo $ git init --bare gittest.git Initialized empty Git repository in /home/gitrepo/gittest.git/
以上命令Git创建一个空仓库,服务器上的Git仓库通常都以.git结尾。然后,把仓库所属用户改为git:
$ chown -R git:git gittest.git
5、克隆仓库
$ git clone git@192.168.0.1:/home/gitrepo/gittest.git Cloning into 'gittest'... warning: You appear to have cloned an empty repository. Checking connectivity... done.
192.168.0.1 为 Git 所在服务器 ip ,你需要将其修改为你自己的 Git 服务 ip。
这样我们的 Git 服务器安装就完成。
附常见问题:
在windows平台下git add 的时候经常会出现错误:fatal: CRLF would be replaced by LF in xxx......
问题原因:
Git在windows下,默认是CRLF作为换行符,git add 提交时,检查文本中有LF 换行符(linux系统里面的),则会告警。所以让git忽略该检查即可。
解决办法,执行Git命令:
$ git config --global core.autocrlf false
$ git config --global core.safecrlf false
附:一定要执行两个命令,只执行第一个不生效。