架设私有的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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Windows下面的Netstat命令详解

    Windows下面的Netstat命令详解  netstat[-a][-e][-n][-o][-pProtocol][-r][-s][Interval] 参数解释:-a 显示所有活动的TCP连接以及计算机侦听的TCP和UDP端口。 -e 显示以太网统计信息,如发送和接收的字节数、数据包数。该参数可以与-s结合使用。 -n 显示活动的TCP连接,不过,只以数字…

    2022年5月30日
    39
  • 镁光闪存颗粒对照表_内存颗粒型号识别

    镁光闪存颗粒对照表_内存颗粒型号识别容量/MBSamsung三星ETRON钰创Zentel力积Hynix海力士Elpida尔必达2MBN/AEM636165TS-6GN/AN/A8MBK4S641632N-EM638165TS-6GA3V64S39FTPHY57V641620E/FTEDS6416AHTA-16MBK4S2816320-EM639165TS-6GA3V28S40FTPHY57V1262GF/TR-60/70EDS…

    2022年6月22日
    250
  • totalcmd工具的主要功能_windows cmd 命令大全

    totalcmd工具的主要功能_windows cmd 命令大全一、Totalcmd配合7-Zip进行压缩、解压缩下载7z文件。可去官网下载安装版文件,再解压,只提取其中的7z.dll文件和7zG.exe文件再将其放在totalcmd\Utilities\7-Zip目录下。(注Utilities是我自己建的一个文件夹,用来存放一些可直接调用的小工具。)说明:虽说7-Zip有个叫7za.exe的命令行工具,但显示效果不佳…

    2025年8月3日
    2
  • 认识Vue 的 export、export default、import

    认识Vue 的 export、export default、import首先要知道 export import exportdefaul 是什么 nbsp 作为 copy 砖家 具体概念我还真是迷糊 查阅资料 ES6 模块主要有两个功能 export 和 import export 用于对外输出本模块 一个文件可以理解为一个模块 变量的接口 import 用于在一个模块中加载另一个含有 export 接口的模块 也就是说使用 export 命令定义了模块的对外接口以后 其他 JS

    2025年8月14日
    0
  • weakHashMap 用法

    weakHashMap 用法WeakHashMap,此种Map的特点是:当除了自身有对key的引用外,此key没有其他引用,那么GC之后此map会自动丢弃此值举例来说:声明了两个Map对象,一个是HashMap,一个是WeakHashMap,同时向两个map中放入a、b两个对象,当HashMapremove掉a并且将a、b都指向null时,WeakHashMap中的a将自动被回收掉。出现这个状况的原因是,对于a对象…

    2022年5月6日
    45
  • 2009年9月51CTO版三级网络技术考前压轴试题参考答案

    2009年9月51CTO版三级网络技术考前压轴试题参考答案

    2021年8月1日
    59

发表回复

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

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