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
网友评论