首页 » LANMP » Linux » 正文

利用git创建远程git仓库

环境介绍

当前客户机 ubuntu,服务器 CentOS

查看下当前的发行版

当前Linux发行版:CentOS Linux release 7.5.1804 (Core)

如果没有 这个命令,请安装

服务器上安装git

服务器上创建一个Linux用户

-m 给该用户创建家目录的意思

这时会在 /home 下出现一个git 文件夹

配置 CentOS 7 公钥登录

这里有个小细节,CentOS 7 下sshd_config 的 这个选项默认是yes,如果不是yes,请修改为yes。否则,无法通过密钥登录成功。

重启下sshd

在客户机上生成自己的RSA公钥

在自己的家目录下的.ssh下会生成这样三个文件

将客户机的公钥传到服务器

将id_rsa.pub 复制到 服务器端。我这里用scp来copy

tips:你也可以直接将id_rsa.pub中的内容复制到服务器的authorized_keys里。服务器的git用户家目录中如果没有.ssh目录,就自己创建一个。其实,不创建.ssh目录也可以,改下服务器里/etc/ssh/sshd_config 中 AuthorizedKeysFile 的值就行。我这里为了管理方便,就不改了。

将id_rsa.pub的公钥复制到git用户家目录的 .ssh 目录下的 authorized_keys 中。

我们进入服务器

authorized_keys 文件名可任意修改,前提是 /etc/ssh/sshd_config 中 AuthorizedKeysFile 的值也要跟着改

修改.ssh 和 authorized_keys 的权限

删掉id_rsa.pub

创建git仓库

在服务器的git家目录下创建一个文件夹

git init --bare
(bare汉语意思是:裸,裸的)初始化的版本库(暂且称为bare repository)只会生成一类文件:用于记录版本库历史记录的.git目录下面的文件;而不会包含实际项目源文件的拷贝;所以该版本库不能称为工作目录(working tree);如果你进入版本目录,就会发现只有.git目录下的文件,而没有其它文件;就是说,这个版本库里面的文件都是.git目录下面的文件,把原本在.git目录里面的文件放在版本库的根目录下面;换句话说,不使用–bare选项时,就会生成.git目录以及其下的版本历史记录文件,这些版本历史记录文件就存放在.git目录下;而使用–bare选项时,不再生成.git目录,而是只生成.git目录下面的版本历史记录文件,这些版本历史记录文件也不再存放在.git目录下面,而是直接存放在版本库的根目录下面

查看下创建好的版本库

现在服务器上的git仓库就创建好了。

我是用git用户创建的,如果你不是用的git用户创建的git仓库,请将仓库的所有者和所属组都改为git

在客户端测试下

我们假定服务器地址是192.168.1.1 (怎么可能)

通过以上操作,我们可以理解git地址其实就是个ssh地址

发表评论

正在加载验证码......

请先完成验证