一条命令创建git服务器

之前一直觉得搭建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文件内容复制,填充,保存。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 14,664评论 9 163
  • 本文为 Git教程的学习笔记,教程源自廖雪峰的博客。这是一个由浅入深,学完后能立刻上手的Git教程。另,附上另一本...
    七弦桐语阅读 11,443评论 5 47
  • 一直很喜欢开心麻花,所以凡是麻花团队制作的小品和电影必追,麻花团队的舞美堪称华丽(有大片既视感),笑料高雅不恶俗,...
    昨夜星辰雨阅读 7,624评论 2 2
  • 基金应该怎么选 【小知识】72定理 用72除年收益率的百分比,得出的数字就是这笔钱翻一番所需要的年数。。举个栗子:...
    CM的口袋阅读 1,481评论 0 0
  • 2017.4.1 周六 阳光明媚 今天是愚人节。如果我说给自己定一个不大的目标,坚持每天都在简书里记录文字,一句也...
    张云梦泽阅读 3,255评论 1 48

友情链接更多精彩内容