前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >云主机搭建Git服务器

云主机搭建Git服务器

原创
作者头像
Jeffery
修改于 2019-01-27 15:58:34
修改于 2019-01-27 15:58:34
21.1K0
举报

前言

版本控制是一个项目不可或缺的一部分,可以帮助开发者追踪文件的变更、分支管理、版本回退、版本发布等。所以建议当开始一个项目或者有想法进行开发时,都尽量考虑用上版本控制。常用的版本控制系统svnGit,其中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:\Users\xxxx.ssh\

把.ssh\id_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这个裸仓库。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
搭建Git服务器
在讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改。
php007
2019/10/10
2.9K0
初学Git及简单搭建git服务器和客户端
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快,如果在互联网下,如果网速慢的话,就纳闷了。 Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
拓荒者
2019/07/25
2.5K1
在CentOS下搭建自己的Git服务器 转
首先需要装好CentOS系统,作为测试,你可以选择装在虚拟机上,这样比较方便。这步默认你会,就不讲了。 有了CentOS,那么如何搭建Git服务器呢? 1、首先需要安装Git,可以使用yum源在线安装:
尚浩宇
2018/08/17
1K0
搭建自己的Git服务器
搭建Git服务器   让我们先看下服务器端SSH访问的配置。在这个例子中,我们使用authorized_keys的方法认证用户。我们假设你的服务器是一个标准linux发行版,比如ubuntu。   首先,你需要创建一个git用户,并在用户目录下创建一个.ssh文件夹
慕白
2018/08/03
3.4K0
搭建自己的Git服务器
Git服务器搭建
  Git是目前世界使用最广泛的分布式版本控制系统,它是由林纳斯·托瓦兹(Linus Torvalds)创作,最初的目的是为了更好地管理Linux内核开发而设计的。
那一叶随风
2018/08/22
2.8K0
Git服务器搭建
小组级git服务器搭建
每个需要使用git服务器的工程师,自己需要生成一个ssh公钥 进入自己的~/.ssh目录,看有没有用 文件名 和 文件名.pub 来命名的一对文件,这个 文件名 通常是 id_dsa 或者 id_rsa。 .pub 文件是公钥,另一个文件是密钥。假如没有这些文件(或者干脆连 .ssh 目录都没有),你可以用 ssh-keygen 的程序来建立它们,该程序在 Linux/Mac 系统由 SSH 包提供, 在 Windows 上则包含在 MSysGit 包里:
EltonZheng
2021/01/22
8200
搭建git服务器
我们都知道GitHub只有公开库是免费的,而私有仓库是需要花钱买的。所以我们可以想办法自己搭建一个私有的,仅自己公司使用的。Gitlab是个不错的选择。在介绍它之前,先讲述一下如何搭建命令行的git服务器。
端碗吹水
2020/09/23
3K0
搭建git服务器
搭建Git服务器(二) 原
出现该提示,说明可以登录,因为git用户的shell禁止该用户登录虚拟机,所以在此输入密码后直接退出。
阿dai学长
2019/04/03
5160
4.4 服务器上的 Git - 配置服务器
我们来看看如何配置服务器端的 SSH 访问。 本例中,我们将使用 authorized_keys 方法来对用户进行认证。 同时我们假设你使用的操作系统是标准的 Linux 发行版,比如 Ubuntu。 首先,创建一个操作系统用户 git,并为其建立一个 .ssh 目录。
shaonbean
2019/05/26
2.5K0
Git服务器搭建简明教程
本文详解在Ubantu 16下搭建Git服务器,力求让读者知其所以然,仅需安装Git和ssh,而无需其他软件。
全栈程序员站长
2022/11/09
1.7K0
Git服务器搭建简明教程
GitHub使用操作指南
GitHub的是版本控制和协作代码托管平台。它可以让你和其他人的项目从任何地方合作。Git也是目前世界上最先进的分布式版本控制系统(没有之一)。最初编写用作Linux内核代码的管理。推出后,Git在其它项目中也取得了很大成功。Github目前已经有100多万的开发者,并且对于公共项目的托管免费。Github使得版本控制更加容易,多人协作编码变得简单。使用过SVN的同学应该知道,当没有网络的支持,开发者并没有办法提交已完成代码。Github支持离线提交,其实就是提交到本地仓库。每一个开发者clone下的项目代码都是一个完整的仓储,当远程或其他协作开发者代码无法恢复时,都可以方便使用本地的仓储进行恢复。当需要对代码进行分支时,其他版本控制软件在大量文件时会很慢,而Github几乎是瞬间完成这个操作,而且只需要一个命令即可。下面我们一步一步来搭建Github的环境(以windows操作系统为例)。
知忆
2021/06/09
8240
Git 管理篇
安装环境 操作系统:Ubuntu 1404 硬件配置:阿里云主机,双核CPU,4G内存
IT茂茂
2020/03/05
7240
[Git] 代码管理之 Git(三)Git 服务器的搭建
我们平时使用git的时候,都是我们直接去拉取别人的仓库的代码,然后修改后提交到git服务器去,那如果我们想自己搭建自己的Git服务器该怎么做呢?
轻舞飞扬SR
2021/02/24
7000
[Git] 代码管理之 Git(三)Git 服务器的搭建
Git学习笔记(git应用)
禁止 git 用户 ssh 登录服务器,修改/etc/passwd文件 ,git-shell 是git的受限 shell 工具,你可以方便地将用户 git 的活动限制在与 Git 相关的范围内。该工具随 Git 软件包一同提供。
没有故事的陈师傅
2019/07/27
1K0
Git远程仓库(2)
(1)生成密钥 本地服务器在 ~/.ssh 目录下可以找到 id_rsa.pub,里面就是公钥
全栈程序员站长
2021/05/27
4960
搭建Git服务器并实现自动同步到Web站点目录
前言:当我们想要实现几个小伙伴合作开发同一个项目,或者建立一个资源分享平台的时候,Git就是一个很好的选择。当然,既然是一个共有平台,那么把这个平台放到个人计算机上明显是不合适的,因此就要在服务器上搭建GIT了。另一个需求是,我们在本地开发,然后推送到服务器上,并且自动同步到Web站点目录,这样就可以直接看到网页效果了,这就要实现自动同步。下面我带领大家实现这么一个功能。
会长君
2023/04/25
9400
Linux上搭建Git服务,客户端在Windows
服务器 CentOS Linux release 7.4.1708 (Core) + git(version 1.8.3.1) 客户端 Windows7 + git(Git-2.9.3.2-64-bit.exe)
飞狗
2018/12/18
3.1K0
初识git
安装 Ubuntu linux安装git:sudo apt-get install git 查看git版本:git --version
用户10325771
2023/03/01
2080
Centos7搭建Git及安装使用
为了直观分辨不同用户为版本开发的贡献,需要设定用户名和email 下面分别是中文版和英文版的 TortoiseGit
拓荒者
2019/07/19
1.6K0
Centos7搭建Git及安装使用
搭建一个Git服务有多简单,只需四个步骤
Git作为分布式的源码管理工具,已经受到了越来越多人的青睐。和SVN的中心化服务不同,Git服务主要是将各个客户端的源码版本进行同步,类似于共享目录的作用,只是为了方便不同开发人员将各自的版本进行交换,不像SVN那么依赖于服务器。现存的Git服务器有Github,码云之类的,不过如果涉及到代码保密,不想上传到其他第三方公司托管,那么就可以自己搭建一个Git服务。 搭建一个Git服务有多简单呢?本文以一个树莓派为例,描述如何在Linux操作系统上创建Git服务。
兜兜转转
2023/03/08
6960
相关推荐
搭建Git服务器
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档