搭建 git 私服,将你的代码托管到云端


git 的远程仓库主要用于多人协作与备份,GitHub 就是一个免费托管开源代码的远程仓库。这里只是为了方便搭建其他服务,如:Hexo

创建 git 用户


对特定服务创建特定用户最大的好处就是方便权限管理

新建 git 组

1
groupadd git

新建 git 用户并添加到 git 组

1
useradd -g git -d /home/git -m git

设置密码

1
passwd git

初始化裸仓库


不需要工作区只需要仓库即可

  • 初始化名为 hanasaki 的裸仓库
1
git init --bare hanasaki.git
  • 修改所属
1
sudo chown -R git:git hanasaki.git

克隆到本地


1
git clone git@server:/www/wwwroot/repos/hanasaki.git

上传 ssh 公钥


到这里就可以向这个远程仓库提交代码了,但是每次提交都需要输入密码,我们上传 ssh 公钥后就不用每次都要密码了

生成密钥对

如果您已经生成过密钥对就可以跳过这一步,直接进入下一步: 上传公钥
在客户端生成密钥对:

1
ssh-keygen -t rsa "邮箱"

三次回车,第一次是提示,第二次第三次是密码,这里我们是为了免密码,所以不再设置密码。

上传公钥

上一步会在 $HOME/.ssh 目录下生成两个文件:id_rsa 和:id_rsa.pub(windows 下一般是 C:\Users\Administrator.ssh 目录)

id_rsa: 私钥,妥善保管到客户端
id_rsa.pub: 公钥,需要上传到服务端

将 id_rsa.pub 上传到服务端 /home/git/.ssh 目录下(没有则新建),改名为 authorized_keys

1
2
mkdir -p /home/git/.ssh
mv id_rsa.pub /home/git/.ssh/authorized_keys