前端开发工具学习Git

一条命令创建git服务器

2016-08-31  本文已影响25人  NextStack

之前一直觉得搭建git服务器非常繁琐,不过在实验了一番之后才发现,一个命令就可以了。

原理

git clone不仅仅支持从url地址进行源码下载,还支持ssh等方式进行数据传输,所以我们只需要开启ssh服务后,就可以进行clone以及push等推送操作了。

开始

首先,我们使用ssh登录我们的服务器,然后在你喜欢的目录下创建一个用于存储项目数据的目录:

$ git init --bare ~/gitserver/test.git

注意这里的--bare参数,重点。

下载

由上一个命令执行后,我们已经得到了一个git服务器(就是一个目录),那么,我们如何clone这个项目呢,很简单:

$ git clone username@serverhost:/home/username/gitserver/test.git

跟ssh登录一个样(所以还可以添加证书进行免密码登录clone)
只不过后边多了一个我们要克隆的项目的绝对路径。

推送

代码克隆回来修改后,我们需要推送到服务器。
和正常的git操作一样:

$ git add file.txt
$ git commit -m "test"
$ git push -u origin master

其他

有个疑问,如果在本地创建了git服务,然后需要clone本地的git项目,怎么操作呢?
这种情况,直接clone绝对路径即可!

$ git clone /path/to/gitserver/test.git

免密码推送

因为我们没设置ssh登录的key,所以每次推送都要求输入一次密码,有点麻烦。
原理很简单,和免密码登录ssh一样,生成证书,在服务器上设置证书,然后就可以在本地免密码登录(也就是免密码推送了)

生成

$ ssh-keygen

注意,请使用默认的id_rsa文件名,避免在登录ssh的时候加载不了密钥

配置

编辑服务端的~/.ssh/authorized_keys文件,把刚刚本地生成的~/.ssh/id_rsa.pub文件内容复制,填充,保存。

上一篇下一篇

猜你喜欢

热点阅读