Git
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理,是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。由于其分布式的特点,我们完全可以只在本地保存整个项目仓库,但考虑多人协作的需求,一般情况是建立一个远程仓库,项目的所有开发者都围绕这个远程仓库进行同步和提交。虽然Github已经免费提供了这样的远程仓库给用户,但这种仓库一般是全网公开,即所有人都可以看到里面的提交。如果我们自己有云主机(最好是Linux系统)的话,要搭建一个Git服务器创建远程仓库并不难,现在让我们开始吧。

远程仓库
搭建Git服务器不需要什么复杂的工具,因为git这个工具已经包括所有的功能。

安装git
一般Linux的发行版已经内置git,如果没有的话安装一下

sudo apt-get install git

sudo adduser git

该用户是用来运行我们git服务器的,在云主机上与我们的普通用户区分。当我们的本地git客户端与远程仓库交互时,云主机上用来运行git程序的用户就是我们刚添加的git了。对该用户设置一下密码:

sudo passwd git

禁用登陆git
由于用户git主要作为仓库使用,一般人员不可以也不应该登陆和进入git,所以使用工具git-shell禁止用户git登陆shell。

先在/etc/shells中加入/usr/bin/git-shell作为可用shell;

sudo vim /etc/shells

然后改变用户git的默认shell。

sudo chsh git -s git-shell

创建仓库
由于用户git已经禁止登陆了,我们直接使用root权限在/home/git目录上创建所有远程仓库的目录srv/

sudo mkdir /home/git/srv

此时可以在srv/上创建一个空的远程仓库,命令为:

sudo cd /home/git/srv
sudo git init --bare elephant.git

其中--bare参数表示裸仓库,一般会将远程仓库初始化为裸仓库。

现在最好设置好仓库的权限,由用户git来管理,其他用户无管理权限。

sudo chown -R git /home/git/srv
sudo chmod -R 770 /home/git/srv

客户端登陆
现在客户端需要与远程仓库同步,可以用ssh进行登陆,而且git也支持ssh连接。

客户端需要创建ssh-key,使用ssh-keygen创建公钥私钥

ssh-keygen -t rsa -C "xxx@email.com"

Windows一般把生成的公钥私钥放在

C:Usersxxxx.ssh\

把.sshid_rsa.pub(公钥)的内容拷贝出来,放置到云主机的git用户的/home/git/.ssh/authorized_keys()中,表示已认证过的公钥。

此时,在本地git客户端则可以使用以下命令拉取到远程仓库了

git clone git@server:srv/elephant.git了

上面的仓库地址中,git表示云主机的用户git,server表示主机地址,即云主机的ip,加上后面的内容则表示云主机上的/home/git/srv/elephant.git这个裸仓库。

云主机搭建Git服务器相关推荐

  1. 云主机搭建Git服务器 1

    Git Git是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理,是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件. ...

  2. 如何在服务器搭建oa系统,如何在云主机搭建oa服务器

    如何在云主机搭建oa服务器 内容精选 换一换 为了更加安全高效的使用云监控服务提供的主机监控功能,我们提供了最新方式的Agent授权方法.在安装主机监控Agent前,仅需要一键式单击该区域的授权按钮或 ...

  3. Esp8266进阶之路12 图文并茂学习阿里云主机搭建8266MQTT服务器,实现移动网络远程控制一盏灯!

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. Esp8266之 搭建开发环境,开始一个"hello ...

  4. 腾讯云主机Ubuntu之服务器环境搭建以及宝塔面板安装

    腾讯云主机Ubuntu之服务器环境搭建以及宝塔面板安装 我也是第一次使用Ubuntu服务器,所以遇到很多问题,在这里记录一下 1.云服务器购买 建议新手选择快速配置,因为自定义配置里面有自己选择很多参 ...

  5. 腾讯云实验之搭建 GIT 服务器教程

    搭建 GIT 服务器教程 image.png 下载安装 git 任务时间:5min ~ 10min Git 是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 此实验以 Ce ...

  6. 88.搭建git服务器 安装与使用gitlab gitlab备份与恢复

    2019独角兽企业重金招聘Python工程师标准>>> 22.13 搭建git服务器 22.14/22.15 安装gitlab 22.16 使用gitlab 22.17 gitlab ...

  7. 如何快速搭建git服务器

    有时候自己想敲点代码,但是苦于没地方存放,又不想对外公开,存放github需要绿色网,也不隐秘.综合考虑后觉得自己搭建git服务器比较合适,而且搭建过程异常简单,步骤如下,如有错误请反馈,谢谢. 服务 ...

  8. centos7 下搭建git服务器

    总的来说,搭建git和svn形式差不多 1.首先要在服务器安装git环境,创建用户密码和仓库等 2.然后个人主机(基本是window)安装git客户端 3.将个人主机客户端的秘钥写到git服务器的一个 ...

  9. CentOS下搭建Git服务器Gitosis

    说明:由于条件有限,我这里使用的是同一台centos的,但教程内容基本上通用. 1.编译安装git git安装教程:http://blog.haohtml.com/archives/10093 2.安 ...

最新文章

  1. 树莓派4b设置RTC时钟模块DS3231
  2. python3.6.2下载教程_Windows下升级Python3.7.7后(原Python3.6.2版本)如何切换Python版本|python基础教程|python入门|python教程...
  3. C语言函数参数压栈顺序为何是从右到左?
  4. 升级后供电不足故障解决攻略
  5. FIFO的verilog代码
  6. python图片识别是否p过_Python+Opencv进行识别相似图片
  7. npm无法下载任何东西其中的一个原因
  8. [转载] python中count()、values_counts()、size()函数
  9. 最短路计数(松弛操作处理)
  10. 基于SpringBoot的简单记账系统
  11. maven学习系列——(七)Dependency
  12. 光学测量精度极限—光谱共焦位移传感器的六大行业应用
  13. 企业测试环境部署(一)
  14. 线性内插interp1函数用法
  15. layui——下拉框监听
  16. mysql 创建学生表、课程表、学生选课表
  17. 基于机器学习的心脏成像诊断
  18. matlab 局部放大
  19. 毕业设计 远程智能浇花灌溉系统 - stm32 单片机 嵌入式 物联网
  20. js实现获取本机的摄像头和麦克风的视频流和音频流并显示

热门文章

  1. pyecharts绘制日历图、漏斗图、仪表盘、水滴图
  2. 如何将零碎信息结构化并做到有序安放,以实现知识积累?
  3. 当a=1,b=2,c=3时,if(ac)b=a;a=c;c=b;的执行结果详解
  4. 计算机无法打开pdf文件夹,电脑为什么打不开PDF文件?
  5. 并发编程五:java并发线程池底层原理详解和源码分析
  6. linear regression and logistic regression 1
  7. 算法基础:快排优化:为什么快排都会TLE
  8. 341.基于高通量测序的微生物组研究技术简介
  9. Openzeppelin库 09.Crowdsale
  10. IPD管理体系中的产品和技术研发执行团队