千家信息网

在CentOS中怎么搭建Git服务器

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要介绍了在CentOS中怎么搭建Git服务器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前言我们可以GitHub发布一些开
千家信息网最后更新 2025年02月02日在CentOS中怎么搭建Git服务器

这篇文章主要介绍了在CentOS中怎么搭建Git服务器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

前言

我们可以GitHub发布一些开源代码的公共仓库,但对于私密仓库就需要收费了。公司内部通常会搭建自己的Git服务器,我也通过在自己的服务器上搭建练习一下。

开始前先说一下服务器信息,这里是阿里云的CentOS 6.5 64位操作系统。

一 确认服务器是否安装Git

[root@iZ25r8k6ifuZ git]# rpm -qa gitgit-1.7.1-3.el6_4.1.x86_64

这里也已经安装过了,如果没有安装可以用yum install git 安装。

二 创建git用户

这里你可以选择新建一个用户来测试,也可以直接使用你的root进行以下操作。笔者也是看着资料一步一步来的,这里创建一个新用户teslachen进行操作。

[root@iZ25r8k6ifuZ ~]# useradd tesla[root@iZ25r8k6ifuZ ~]# passwd tesla

更改用户 tesla 的密码 。

新的 密码:

无效的密码: 它没有包含足够的不同字符

无效的密码: 过于简单

重新输入新的 密码:

passwd: 所有的身份验证令牌已经成功更新。

注1:创建用户权限不够请加上sudo;

注2:设置用户密码太过简单的话会有提示,但依旧可以设置成功。

三 生成ssh公钥

许多 Git 服务器都使用 SSH 公钥进行认证。 为了向 Git 服务器提供 SSH 公钥,如果某系统用户尚未拥有密钥,必须事先为其生成一份。

linux 可以在本机运行ssh-keygen -t rsa生成密钥,把.pub文件拷到服务器上。

[root@iZ25r8k6ifuZ ~]# su tesla[tesla@iZ25r8k6ifuZ root]$ cd ~[tesla@iZ25r8k6ifuZ ~]$ mkdir .ssh[tesla@iZ25r8k6ifuZ ~]$ ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (/home/tesla/.ssh/id_rsa):Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /home/tesla/.ssh/id_rsa.Your public key has been saved in /home/tesla/.ssh/id_rsa.pub.The key fingerprint is:13:bf:75:ba:67:7f:0e:a0:47:7a:fe:25:bc:81:85:c3 tesla@iZ25r8k6ifuZThe key's randomart image is:+--[ RSA 2048]----+|     ||     ||  .  ||   o . . ||  S . E o ||   . O ||   + = = .||   + .o.||   o+oo+|+-----------------+[tesla@iZ25r8k6ifuZ ~]$ cd .ssh/[tesla@iZ25r8k6ifuZ .ssh]$ cat id_rsa.pub >> ~/.ssh/authorized_keysexit

四 添加tesla到sudoers文件

tesla用户现在对一些文件夹没有操作权限,修改/etc/sudoers文件来改变他的权限。最高管理员用户用下面命令打开。

[root@iZ25r8k6ifuZ ~]# visudo

然后我们在vim中找到下面这行

root ALL=(ALL) ALL

按i键开始插入,回车一下在下面一行加上

tesla ALL=(ALL) ALL

接着按下esc键,输入 :wq ,回车保存退出

五 创建Git代码仓库

[root@iZ25r8k6ifuZ ~]# mkdir /teslaRepo[root@iZ25r8k6ifuZ ~]# cd /teslaRepo/[root@iZ25r8k6ifuZ teslaRepo]# sudo mkdir teslaProject.git[root@iZ25r8k6ifuZ teslaRepo]# chown tesla:tesla /teslaRepo/[root@iZ25r8k6ifuZ teslaRepo]# chown -R tesla:git /teslaRepo/[root@iZ25r8k6ifuZ teslaRepo]# cd teslaProject.git/[root@iZ25r8k6ifuZ teslaProject.git]# sudo git --bare initInitialized empty Git repository in /teslaRepo/teslaProject.git/

这样一个叫teslaProject得Git仓库就创建好了

六 本地测试使用

你可以直接在服务器上进行本地测试,也可以直接用你的电脑来测试。下面我是使用自己的MBP来进行的测试。

localhost:~ okay$ cd Desktop/git/localhost:git okay$ mkdir teslaRepolocalhost:git okay$ cd teslaRepo/localhost:teslaRepo okay$ git initInitialized empty Git repository in /Users/okay/Desktop/git/teslaRepo/.git/localhost:teslaRepo okay$ git remote add origin tesla@123.57.159.74:/teslaRepo/teslaProject.git

上面的命令在本地创建了一个文件夹并添加了服务器上的远程仓库

localhost:teslaRepo okay$ touch a.txtlocalhost:teslaRepo okay$ git add a.txtlocalhost:teslaRepo okay$ git commit -m "init commit"[master (root-commit) d14cd3b] init commit 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 a.txt

上面的命令在本地创建了一个a.txt并在本地提交了一次

localhost:teslaRepo okay$ git push origin mastertesla@123.57.159.74's password:Counting objects: 3, done.Writing objects: 100% (3/3), 202 bytes | 0 bytes/s, done.Total 3 (delta 0), reused 0 (delta 0)To tesla@123.57.159.74:/teslaRepo/teslaProject.git * [new branch]  master -> master

上面的命令将本地代码push到远程服务器上去了,下面我们在本地clone一次看下是否正确

七 本地clone

localhost:git okay$ mkdir tttlocalhost:git okay$ cd tttlocalhost:ttt okay$ git clone tesla@123.57.159.74:/teslaRepo/teslaProject.gitCloning into 'teslaProject'...tesla@123.57.159.74's password:remote: Counting objects: 3, done.remote: Total 3 (delta 0), reused 0 (delta 0)Receiving objects: 100% (3/3), done.Checking connectivity... done.

clone完成,让我们看一下文件夹目录

之前push到服务器上的a.txt文件已经被clone下来

------------分割线-------------

1. 查看系统用户组

-d:指定字段的分隔符,默认的字段分隔符为"TAB";
-f:显示指定字段的内容;

cut -d: -f1 /etc/group

2. 查看系统用户

cut -d: -f1 /etc/passwd

3. clone仓库

git clone git@your_gitServer_ip:/home/gitrepo/sample.git

4. push已有仓库

// 以master分支示范git checkout mastergit remote rm origingit remote add origin git@your_gitServer_ip:/home/gitrepo/sample.gitgit push -u origin master

感谢你能够认真阅读完这篇文章,希望小编分享的"在CentOS中怎么搭建Git服务器"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

服务器 服务 用户 仓库 文件 密码 测试 命令 篇文章 系统 代码 公钥 字段 文件夹 权限 面的 成功 分隔符 密钥 生成 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 新建数据库的写法 口碑好的软件开发价格 安徽挑选软件开发试验设备 服务器安全防护加固流程 数据库原理与应用51852 游戏服务器不行会有什么结果 网络安全英语博文五十词 双数据库安装教程 论网络技术在农业传播 襄阳专业的软件开发多少钱 俄罗斯方块软件开发计划 深圳横岗软件开发公司 开鱼科技招聘软件开发 陆河java软件开发在线咨询 萍乡物理服务器要多少钱 数据库安装问题400 计算机考数据库技术有什么用 数据库为什么要创建触发器 网络安全公司的薪酬方案 不动产登记系统数据库设计 信息网络技术专业考研方向 瓦洛兰特链接不上服务器 达梦数据库帐户锁定 合肥齐赢网络技术有限公司 泰州市网络安全作业 耒阳软件开发中职学校 关于青少年网络安全的建议 软件开发 双核 多核 数据库自动生成系统报表 锦州游戏软件开发公司
0