云主机搭建Git服务器
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服务器相关推荐
- 云主机搭建Git服务器 1
Git Git是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理,是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件. ...
- 如何在服务器搭建oa系统,如何在云主机搭建oa服务器
如何在云主机搭建oa服务器 内容精选 换一换 为了更加安全高效的使用云监控服务提供的主机监控功能,我们提供了最新方式的Agent授权方法.在安装主机监控Agent前,仅需要一键式单击该区域的授权按钮或 ...
- Esp8266进阶之路12 图文并茂学习阿里云主机搭建8266MQTT服务器,实现移动网络远程控制一盏灯!
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. Esp8266之 搭建开发环境,开始一个"hello ...
- 腾讯云主机Ubuntu之服务器环境搭建以及宝塔面板安装
腾讯云主机Ubuntu之服务器环境搭建以及宝塔面板安装 我也是第一次使用Ubuntu服务器,所以遇到很多问题,在这里记录一下 1.云服务器购买 建议新手选择快速配置,因为自定义配置里面有自己选择很多参 ...
- 腾讯云实验之搭建 GIT 服务器教程
搭建 GIT 服务器教程 image.png 下载安装 git 任务时间:5min ~ 10min Git 是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 此实验以 Ce ...
- 88.搭建git服务器 安装与使用gitlab gitlab备份与恢复
2019独角兽企业重金招聘Python工程师标准>>> 22.13 搭建git服务器 22.14/22.15 安装gitlab 22.16 使用gitlab 22.17 gitlab ...
- 如何快速搭建git服务器
有时候自己想敲点代码,但是苦于没地方存放,又不想对外公开,存放github需要绿色网,也不隐秘.综合考虑后觉得自己搭建git服务器比较合适,而且搭建过程异常简单,步骤如下,如有错误请反馈,谢谢. 服务 ...
- centos7 下搭建git服务器
总的来说,搭建git和svn形式差不多 1.首先要在服务器安装git环境,创建用户密码和仓库等 2.然后个人主机(基本是window)安装git客户端 3.将个人主机客户端的秘钥写到git服务器的一个 ...
- CentOS下搭建Git服务器Gitosis
说明:由于条件有限,我这里使用的是同一台centos的,但教程内容基本上通用. 1.编译安装git git安装教程:http://blog.haohtml.com/archives/10093 2.安 ...
最新文章
- 树莓派4b设置RTC时钟模块DS3231
- python3.6.2下载教程_Windows下升级Python3.7.7后(原Python3.6.2版本)如何切换Python版本|python基础教程|python入门|python教程...
- C语言函数参数压栈顺序为何是从右到左?
- 升级后供电不足故障解决攻略
- FIFO的verilog代码
- python图片识别是否p过_Python+Opencv进行识别相似图片
- npm无法下载任何东西其中的一个原因
- [转载] python中count()、values_counts()、size()函数
- 最短路计数(松弛操作处理)
- 基于SpringBoot的简单记账系统
- maven学习系列——(七)Dependency
- 光学测量精度极限—光谱共焦位移传感器的六大行业应用
- 企业测试环境部署(一)
- 线性内插interp1函数用法
- layui——下拉框监听
- mysql 创建学生表、课程表、学生选课表
- 基于机器学习的心脏成像诊断
- matlab 局部放大
- 毕业设计 远程智能浇花灌溉系统 - stm32 单片机 嵌入式 物联网
- js实现获取本机的摄像头和麦克风的视频流和音频流并显示
热门文章
- pyecharts绘制日历图、漏斗图、仪表盘、水滴图
- 如何将零碎信息结构化并做到有序安放,以实现知识积累?
- 当a=1,b=2,c=3时,if(ac)b=a;a=c;c=b;的执行结果详解
- 计算机无法打开pdf文件夹,电脑为什么打不开PDF文件?
- 并发编程五:java并发线程池底层原理详解和源码分析
- linear regression and logistic regression 1
- 算法基础:快排优化:为什么快排都会TLE
- 341.基于高通量测序的微生物组研究技术简介
- Openzeppelin库 09.Crowdsale
- IPD管理体系中的产品和技术研发执行团队