前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >架设私有的Git服务器[通俗易懂]

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

作者头像
全栈程序员站长
发布2022-11-10 12:54:40
2.9K0
发布2022-11-10 12:54:40
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

架设私有的Git服务器

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

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

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

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

①安装对应的软件(Linux)

命令如下:

代码语言:javascript
复制
yum -y install git

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

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

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

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

④客户端的使用

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

代码语言:javascript
复制
git init

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

代码语言:javascript
复制
# git remote add origin Git服务用户名@主机地址:服务器上裸库的地址
git remote add origin git@你的服务器地址:/home/git/repo.git

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

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

⑦测试克隆拉取是否正常

代码语言:javascript
复制
git clone git@你的服务器地址:/home/git/repo.git

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

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

代码语言:javascript
复制
ssh-keygen -t rsa -C 主体名称

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

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

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

代码语言:javascript
复制
mkdir /home/git/.ssh
vim /home/git/.ssh/authorized_keys
# 保存退出之后,免密登录就立即生效

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月26日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 架设私有的Git服务器
相关产品与服务
代码托管
CODING 代码托管(CODING Code Repositories,CODING-CR)是为开发者打造的云端便捷代码管理工具,旨在为更多的开发者带去便捷、高效的开发体验,全面支持 Git/SVN 代码托管,包括代码评审、分支管理、超大仓库等功能。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档