q968 发表于 2017-11-18 11:09:30

在 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 git@***.***.**.**:/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 用户   



sugit
  输入并打印



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

  完成, 客户端重启Git Bash   克隆 即可看到效果
  文章转载自   http://blog.csdn.net/zhuxiaoping54532/article/details/53813437
页: [1]
查看完整版本: 在 linux 上搭建自己的 git 服务器