博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
搭建Git服务器
阅读量:5818 次
发布时间:2019-06-18

本文共 1202 字,大约阅读时间需要 4 分钟。

搭建简单的Git服务器

搭建 Git 服务器最重要的是 .git 文件夹和里面的内容,

创建一个裸仓库:

$ git clone --bare my_project/.git  myproject.git

该命令等效于:

$ cp -Rf  my_project/.git  myproject.git

这样就可以取出 仓库 本身,而不是工作目录

然后把 myproject.git 上传到服务器上,若服务器上的路径为 /src/myproject.git

$ git clone user@server.com:/src/myproject.git

通过这个命令就可以拷贝仓库了。在这之前首先要在服务器上设置该 Git 仓库可以共享:

 

$ cd /src/myproject.git$ git init --bare --shared

另外,也可以用服务器上的 git 用户在服务器上创建一个空的 git 仓库,之后再在本地上将任意一个 git 仓库 push 到服务器上。操作是类似的。

 

仓库拷贝下来后就有所有的文件都会在当前的目录下面,那么就可以开始项目了。

之后的操作就像使用 GitHub 一样,不过远程仓库并不是在 GitHub 上而是在私有的服务器上。

但是这样的话,在每次 push 或者 pull 操作都需要输入密码。

 

搭建通过 SSH 访问的 Git 服务器

首先在服务器上添加一个专门用于 git 访问的用户

$ sudo adduser git$ su git$ cd ~$ mkdir .ssh && chmod 700 .ssh$ touch .ssh/authorized_keys && chmod 600 .ssh/authorized_keys

这样就创建了用户 git,并且 git 在 /home 目录下有自己的 HOME 目录。

之后是在 git 的 HOME 目录中创建 .ssh 文件夹和 authorized_keys 文件,权限设置为仅能 git 用户访问。

然后收集需要访问该 Git 服务器上的用户的公钥,一般公钥存放在 id_rsa.pub 文件中:

~/.ssh/id_rsa.pub

若 A 把自己的公钥文件上传到服务器上,用 git 用户添加到 /home/git/.ssh/authorized_keys 这个文件中,那么 A 就可以通过 SSH 访问 git 仓库,而不用再输入密码。

如果需要限制 git 用户的 shell 访问,可以将 /etc/passwd 文件中的 git 那一行的 /bin/bash 改成 /usr/bin/git-shell 就可以限制 git 用户的 shell 登陆了。:

 

 

 

references:

 

转载于:https://www.cnblogs.com/brifuture/p/8127258.html

你可能感兴趣的文章
Java正则过滤
查看>>
composer在ubuntu下安装
查看>>
[SinGuLaRiTy] 2017-07-26 综合性测试
查看>>
Android开发技巧——去掉TextView中autolink的下划线
查看>>
spring 入门
查看>>
leetcode445
查看>>
JAVA RPC (七) 手把手从零教你写一个生产级RPC之client请求
查看>>
(50)与magento集成
查看>>
转:高性能Mysql主从架构的复制原理及配置详解
查看>>
laravel中composer镜像服务的方式
查看>>
Ubuntu设置python3为默认版本
查看>>
日期Calendar/Date的用法
查看>>
shell学习之路:重定向符号的使用
查看>>
现实世界的Windows Azure:采访Soluto的创始人Tomer Dvir
查看>>
JsonCpp 的使用
查看>>
问题账户需求分析
查看>>
JavaSE-代码块
查看>>
查询创建的对象
查看>>
1.7站立会议之个人
查看>>
电脑加内存要做的事
查看>>