在 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 服务器的主要内容,如果未能解决你的问题,请参考以下文章