云服务器搭建git仓库
在实际的开发中,都是一个团队协同开发,共享代码资源。那么就需要服务器来存放团队的代码,需要用的时候从服务器下载。首先找一台电脑充当服务器的角色,每天 24 小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上,并且各自把各自的提交推送到服务器仓库里,也从服务器仓库中拉取别人的提交。可以自己搭建这台服务器,也可以使用 GitHub、Gitee 等作为 Git 服务器。
本文以百度智能云服务器debian
为例,root 角色进行操作。
安装 Git
1 | $ apt update |
创建用户组和用户,用于运行 Git 服务
1 | # 添加用户组 |
初始化 Git 仓库
选定一个目录作为 Git 仓库,如/home/gitRepo/demo.git,在/home/gitRepo 目录下输入命令
1 | $ cd /home |
创建一个空仓库,服务器上的 Git 仓库通常都以.git
结尾,把仓库所属用户改为 git
1 | $ chown -R git:git demo.git |
Tips
使用
git init --bare <repo>
可以创建一个裸仓库,并且这个仓库是可以被正常 clone 和 push 的,裸仓库不包含工作区,所以不能在裸仓库上直接提交变更。
同步到指定的目录
使用钩子函数,在文件提交到仓库时,同步到指定的目录。
1 | $ cd /home/gitRepo/demo.git/hooks |
post-receive 文件内容为
1 |
|
创建目录 demo,添加到 git 用户组
1 | $ mkdir /home/www/demo |
克隆仓库
1 | $ git clone git@192.168.1.6:/home/gitRepo/demo.git |
说明:
git@192.168.1.6:192.168.1.6 为 Git 所在服务器 ip ,你需要将其修改为你自己的 Git 服务 ip。
前缀 git为添加的用户。
这里,因为没有提前创建证书登录,所以需要输入上面设置好的 git 用户密码。
创建证书登录
收集所有需要登录的用户的公钥,公钥位于 id_rsa.pub 文件中(如果本地是 Windows 系统,一般在 C 盘用户下的.ssh 目录中),把我们的公钥导入到/home/git/.ssh/authorized_keys 文件里,一行一个。
如果没有该文件创建它
1 | $ cd /home/git/ |
相关链接
[3] Git 服务器搭建
[4] Linux 命令大全
[5] Linux 命令大全(超详细版)