在 linux 上搭建自己的 git 服务器

Posted 晨曦时丶梦见兮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在 linux 上搭建自己的 git 服务器相关的知识,希望对你有一定的参考价值。

最近遇到了 git 服务的需求 由于项目类型比较特殊 所以打算把 git 做成备份工具  但由于项目比较大 所以排除了 github 之类的公共仓库 ,只能自己搭建一个 git 服务器,资料都是有我百度而来,在这儿做一个整理,服务器是 centos 7.3

1:安装Git(已安装请绕过)

yum install git  -y 

2:安装 ssh 服务 (已安装请绕过)通过 ps -ef|grep sshd看看系统是否已经有ssh服务

yum install openssh-server openssh-client 

3:创建 git 用户

useradd git(创建名称为git的用户)
passwd git(为git用户创建密码)

4:创建git仓库存储目录和权限 

mkdir /home/git/repositories
chown git:git /home/git/repositories
chmod 755 /home/git/repositories

ps :  可根据自己的需求 更换目录  下同  

5:切换到git用户并建立服务器仓库

su git
cd /home/git/repositories  (初始化一个仓库名称为 test )
git init --bare test.git

 

最后在 客户端 上验证一下:

在客户端命令行输入:git clone [email protected]***.***.**.**:/home/git/repositories/tset.git   (*  表示自己的IP )

根据提示先输入yes,然后输入密码git用户的密码(即上面设定的密码)

之后就可以在客户端看到 test 这个目录了,进入这个目录,修改这目录里面的文件,就能把修改push到服务器了

ps: 在这里我遇到了个错误 

WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

我这里是 win7 的客户端 进入  C:\Users\Administrator\.ssh  目录

编辑 known_hosts  文件   找到你的 对应IP 那几行 删掉它保存就可以了

6:上面的方法再每次提交修改到服务器的时候都会要求输入密码,比较麻烦,为了解决这个问题,可以将客户端用户ssh key写入服务器端git用户的authorized_keys文件中,具体操作

(1):在客户端shell命令行输入: ssh-keygen  ( 此处我是在 win7客户端 的 Git Bash 中输入的 )

如果是 linux 客户端 会出现 ~/.ssh/id_rsa.pub 这个公钥文件

如果是 win 客户端 则在 C:\Users\Administrator\.ssh  目录

(2): 把 id_rsa.pub  文件 上传至 Git 服务器   保证git用户可读

 Git 服务器切换到 git 用户   

su  git

输入并打印

cat id_rsa.pub >> ~/.ssh/authorized_keys   (注意两者的目录)

  

完成  , 客户端重启  Git Bash   克隆 即可看到效果

 

 

文章转载自   http://blog.csdn.net/zhuxiaoping54532/article/details/53813437

 


以上是关于在 linux 上搭建自己的 git 服务器的主要内容,如果未能解决你的问题,请参考以下文章

在Windows上搭建Git Server

在Windows上搭建Git Server

在Windows上搭建Git Server

阿里云Linux CentOS 7 Docker部署使用gogs搭建自己的git服务器

搭建Git Server

阿里云 linux搭建git服务器