[传送门]-自建git服务

0.忍无可忍

博主在本地写好代码就直接git push到github上去,然后在web服务器上直接git pull更新web代码,这种模式用起来爽极了。但是最近两天,在web服务器上git pull的频繁失败,发现自己的腾讯云VPS直接ping不通github.com了,这更本无法忍受,因此决定直接在VPS上把git服务搭建起来。

参考Git 服务器搭建和Linux使用ssh公钥实现免密码登录Linux

1.Git Server On VPS(CentOS)

  • 安装git,当然博主的CentOS上已经有这个环境了。
# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
# yum install git
  • 创建git用户和用户组
# groupadd git
# useradd git -g git
  • 安全起见,修改/etc/passwd把git用户的shell改为git-shell

  • 设置*** /home/gitrepo/ ***为git仓库

# mkdir /home/gitrepo
# chown git:git /home/gitrepo/
  • 新建一个空仓库,并将其所属用户修改为git
# cd /home/gitrepo
# git init --bare wuaiwulu2.git
# git chown -R git:git wuaiwulu2.git
  • 稍后从github把代码放进空仓库

2.Workspace On Localhost(Archlinux)

  • 生成rsa公钥/密钥对
$ cd ~/.ssh/
$ ssh-keygen
  • 将得到的id_rsa.pub用ftp或者scp上传到Git Server备用

3.Web Server On VPS(CentOS)

  • 实际上博主的Web Server和Git Server是同一个

  • 生成rsa公钥/密钥对

# cd ~/.ssh/
# ssh-keygen
  • 将生成的id_rsa.pub也复制到Git Server上

4.Git Server On VPS(CentOS)

  • 授权登陆使用git
# cd /home/git
# mkdir .ssh
# chmod 755 .ssh
# cat id_rsa.pub.soar >> .ssh/authorized_keys
# cat id_rsa.pub.root >> .ssh/authorized_keys
# chmod 644 .ssh/authorized_keys

4.转移文件开始下一行代码

然后就可以愉快地git clone git push git pull啦

$ git clone git@brocadesoar.cn:/home/gitrepo/wuaiwulu2.git
# git clone git@localhost:/home/gitrepo/wuaiwulu2.git
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容