架设私有的Git服务器[通俗易懂]

架设私有的Git服务器[通俗易懂]Git是一个版本控制系统,现如今正在被全世界大量开发者使用。许多公司喜欢使用基于Git版本控制的GitHub代码托管。根据报道,GitHub是现如今全世界最大的代码托管网站。GitHub宣称已经有920万用户和2180万个仓库。许多大型公司现如今也将代码迁移到GitHub上。甚至于谷歌,一家搜索引擎公司,也正将代码迁移到GitHub上。GitHub能提供极佳的服务,但却有一些限制,尤其是你是单人或是一名coding爱好者。GitHub其中之一的限制就是其中免费的服务没有提

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

架设私有的Git服务器

Git是一个版本控制系统,现如今正在被全世界大量开发者使用。许多公司喜欢使用基于 Git 版本控制的 GitHub 代码托管。根据报道,GitHub 是现如今全世界最大的代码托管网站。GitHub 宣称已经有 920 万用户和 2180 万个仓库。许多大型公司现如今也将代码迁移到 GitHub 上。甚至于谷歌,一家搜索引擎公司,也正将代码迁移到 GitHub 上。

GitHub 能提供极佳的服务,但却有一些限制,尤其是你是单人或是一名 coding 爱好者。GitHub 其中之一的限制就是其中免费的服务没有提供代码私有托管业务。你不得不支付每月 7 美金购买 5 个私有仓库,并且想要更多的私有仓库则要交更多的钱。

万一你想要私有仓库或需要更多权限控制,最好的方法就是在你的服务器上运行 Git。当下,也有很多企业喜欢在公司内部部署私有的GIT仓库。本文将通过实际操作来演示如何快速的在自己的服务器上创建私有GIT版本控制系统。

以CentOS为例,主要步骤如下:

①安装对应的软件(Linux)

命令如下:

yum -y install git

②建立git用户,设置一个初始密码(类似于github平台的密码)

useradd -s /bin/git-shell git
# 指定一下git解释器,这样一来,用户不能登录到系统,只能使用git的相关命令进行操作
# 为git用户设置初始密码
passwd git
# 根据提示输入初始密码
# 例如,初始密码为123456

③创建空远程仓库(裸库)

cd /home/git
# 创建裸库
git init --bare repo.git
# repo.git为裸库的名字(repo就类似于之前在github上创建仓库名)
chown -R git:git repo.git
# 更改所有者,让git用户成为仓库的所有者(具备写权限)

④客户端的使用

例如在Windows系统下,新建文件夹test,进入文件夹,执行:

git init

⑤建立本地库与远程裸库的连接关系

# git remote add origin Git服务用户名@主机地址:服务器上裸库的地址
git remote add origin git@你的服务器地址:/home/git/repo.git

⑥测试:在本地仓库中建立一个测试文件,测试提交是否正常

## 往当前目录下,写入helloworld到文件qianfeng.txt中
echo helloworld > qianfeng.txt
## 添加和提交
git add .
git commit -m init
git push -u origin master

⑦测试克隆拉取是否正常

git clone git@你的服务器地址:/home/git/repo.git

⑧自建的git服务器支持免密登录

在客户端上通过以下命令来获取公私玥对(如已有则跳过):

ssh-keygen -t rsa -C 主体名称

产生完毕后,公私玥对位于c/Users/用户名/.ssh/:

  • id_rsa:私钥(私有的钥匙,不能公开)
  • id_rsa.pub:公钥(可以公开的钥匙)

将公钥内容写入到Linux中,需要将公钥写入到git家目录中对应的文件里:

mkdir /home/git/.ssh
vim /home/git/.ssh/authorized_keys
# 保存退出之后,免密登录就立即生效

至此,我们自己私有的GIT配置就已经完成了,现在我们可以享受更安全、高效的GIT使用体验!

*陆荣涛前端学习交流Q群858752519
加群备注:CSDN推荐

请添加图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189002.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 传统的行存储和(HBase)列存储的区别「建议收藏」

    传统的行存储和(HBase)列存储的区别「建议收藏」1为什么要按列存储列式存储(Columnarorcolumn-based)是相对于传统关系型数据库的行式存储(Row-basedstorage)来说的。简单来说两者的区别就是如何组织表(翻译不好,直接抄原文了):Ø Row-basedstoragestoresatableinasequenceofrows.Ø Column-basedstorag

    2022年7月16日
  • OPKG包管理系统详解!带你管理OpenWrt系统软件[通俗易懂]

    OPKG包管理系统详解!带你管理OpenWrt系统软件[通俗易懂]一、OPKG简介OPKG(Open/OpenWrtPackage)是一个轻量快速的软件包管理系统,是IPKG的克隆,目前已成为开源嵌入式系统领域的事实标准。OPKG常用于路由、交换机等嵌入式设备中,用来管理软件包的下载、安装、升级、卸载和查询等,并处理软件包的依赖关系。功能和桌面Linux操作系统Ubuntu中的apt-get、Redhat中的yum类似 OPK…

    2022年6月11日
  • 【SpringBoot】34、SpringBoot整合Redis实现序列化存储Java对象

    【SpringBoot】34、SpringBoot整合Redis实现序列化存储Java对象前面我们已经介绍过【SpringBoot】十七、SpringBoot中整合Redis,我们可以看出,在SpringBoot对Redis做了一系列的自动装配,使用还是非常方便的一、背景1、思考‘通过我们前面的学习,我们已经可以往Redis中存入字符串,那么我们要往Redis中存入Java对象该怎么办呢?2、方案我们可以将Java对象转化为JSON对象,然后转为JSON字符串,存入Redis,那么我们从Redis中取出该数据的时候,我们也只能取出字符串,并转

    2022年6月21日
  • MFC 键盘钩子「建议收藏」

    MFC 键盘钩子「建议收藏」一、前言一日,看见我妈正在用电脑练习打字,频频低头看键盘,我想:要是键盘能发音的话,不就可以方便她养成”盲打”的好习惯吗?光想不做可不行,开始行动(您可千万别急着去拿工具箱啊^_^)…按键能发音,其关键就是让程序能够知道当前键盘上是哪个键被按下,并播放相应的声音,自己的程序当然不在话下,那么其它程序当前按下哪个键如何得知呢?利用键盘钩子便可以很好地解决。下载本文的全部源代码大

    2022年6月7日
  • idea配置Tomcat时没有Artifacts选项

    idea配置Tomcat时没有Artifacts选项首先解释一下IDEA中的Artifact是什么?Artifacts是maven中的一个概念,表示某个module要如何打包,例如warexploded、war、jar、ear等等这种打包形式;好奇这个带不带exploded的有什么差别不?exploded在这里你可以理解为展开,不压缩的意思。也就是war、jar等产出物没压缩前的目录结构。这个是不带exploded的。和下图的框框对比下,就可以看到差别啦这两张图,意在说明,带exploded和不带的差别,一个是打包压缩,另.

    2022年10月18日
  • CentOS8 关闭防火墙,禁用防火墙「建议收藏」

    查看状态systemctlstatusfirewalld.service打开防火墙systemctlstartfirewalld.service关闭防火墙systemctlstopfirewalld.service开启防火墙systemctlenablefirewalld.service禁用防火墙systemctldisablefirewal…

    2022年4月11日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号