Centos7 yum安装git服务器
admin
2024-02-11 00:57:52
0

安装git

yum install git

检查git版本

git –version

发现不是较新的版本或者是我们想要的版本

移除该版本git

yum remove git

下载编译工具

yum -y groupinstall Development Tools

下载依赖包

yum -y install zlib-devel perl-ExtUtils-MakeMaker asciidoc xmlto openssl-devel

下载 Git 最新版本的源代码

wget https://www.kernel.org/pub/software/scm/git/git-2.32.0.tar.gz

登录https://github.com/git/git/releases查看git的最新版。不要下载带有-rc的,因为它代表了一个候选发布版本。

https://github.com/git/git/archive/refs/tags/v2.32.0.tar.gz

解压

tar -zxvf git-2.9.5.tar.gz

进入目录配置

cd git-2.32.0
./configure –prefix=/usr/local/git

安装

make && make install

配置全局路径

export PATH="/usr/local/git/bin:$PATH"
source /etc/profile

以上即为安装的全部步骤。

后续使用中,遇到错误

Unable to find remote helper for ‘https’
解决方法:
将 /usr/libexec/git-core 纳入 PATH,至少在使用 git 之前,设置一下PATH

PATH=$PATH:/usr/libexec/git-core

或直接在 /etc/profile 中修改。

配置环境变量的备用方案:

[root@bogon git-2.3.0]# echo "export PATH=$PATH:/usr/local/git/bin" > /etc/profile.d/git.sh
[root@bogon git-2.3.0]# source /etc/profile.d/git.sh
[root@bogon git-2.3.0]# git --version

下面是补充

使用SSH搭建GIT服务器,要做以下准备工作:
1、在服务器和客户端机器上分别安装git
2、在服务器上安装ssh服务
3、在客户端机器上安装SSH客户端

make clean 清除编译
yum remove git 卸载

安装服务端:

(1)首先先更新系统

sudo yum update

(2)安装依赖的包

sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker

(3)下载git源码并解压缩

wget https://Github.com/Git/Git/archive/v2.32.0.tar.gz
tar zxvf v2.32.0.tar.gz
cd git-2.32.0
make prefix=/usr/local/git all

如果出现错误:

libgit.a(utf8.o): In function reencode_string_iconv': /root/git-2.3.0/utf8.c:463: undefined reference tolibiconv’ libgit.a(utf8.o): In function reencode_string_len': /root/git-2.3.0/utf8.c:502: undefined reference tolibiconv_open’ /root/git-2.32.0/ut
make prefix=/usr/local/git install

安装libiconv

下载编译

cd /usr/local
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar -zxvf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure –prefix=/usr/local/libiconv && make && make install

创建一个软链接到/usr/lib

ln -s /usr/local/lib/libiconv.so /usr/lib
ln -s /usr/local/lib/libiconv.so.2 /usr/lib

然后回到git目录继续编译

make prefix=/usr/local/git all
make prefix=/usr/local/git install

**(5)此时你如果使用git --version 查看git版本的话,发现git仍然是1.8.1版本。这是因为它默认使用了"/usr/bin"下的git。**
你可以用下面的命令查看git所在的路径:

$ whereis git
git: /usr/bin/git /usr/local/git /usr/share/man/man1/git.1.gz

**(6)我们要把编译安装的git路径放到环境变量里,让它替换"/usr/bin"下的git。为此我们可以修改“/etc/profile”文件(或者/etc/bashrc文件)。**

sudo vim /etc/profile

然后在文件的最后一行,添加下面的内容,然后保存退出。

export PATH=/usr/local/git/bin:$PATH

**(8)然后再次使用git --version 查看git版本,发现输出2.3.0,表明安装成功。**

**安装gitosis:**

下载setuptools放到你想放的目录,我自己放在/usr/local/src这里

wget https://pypi.python.org/packages/source/s/setuptools/setuptools-19.0.tar.gz#md5=b921200449c8b52d62c7e70a47956b69 (https://pypi.python.org/pypi/setuptools#downloads)这个网址下载的,可以去下载最新
tar zxvf setuptools-19.0.tar.gz
cd setuptools-19.0
python setup.py install
cd /usr/local
git clone git://github.com/res0nat0r/gitosis.git
cd gitosis

**python setup.py install 显示Finished processing dependencies for gitosis==0.2即表示成功**

**在Linux服务器上**
**第一步,先创建一个专门由于git仓库的一个账号吧,这样也方便进行管理 (如果已经有账号则不需要执行这步)**

sudo groupadd git #新建一个git用户组
sudo useradd git -m -s /sbin/nologin -d /home/git -g git #新建一个git用户,创建目录,并禁止shell登录,添加到git用户组
sudo useradd git -m -s /bin/bash -d /home/git -g git #新建一个git用户,创建目录,并允许shell登录,添加到git用户组

**第二步:新建一个git空仓库。**

切换到你用来管理git的账号,本人是git账号:su git 或者你用root

cd /home/git/
mkdir www.laogao.com 项目文件夹,名字自定义
cd www.laogao.com
git init –bare

显示:Initialized empty Git repository in /home/git/www.laogao.com.git/ 表示已经建立成功

**第三步:添加用户的公钥**
1.切换到你操作git的用户,列如(su git)

mkdir /home/git/.ssh
chmod 700 .ssh
cd /home/git/.ssh
ssh-keygen -t rsa //默认会生成~/.ssh/id_rsa.pub公钥文件。
gitosis-init < /home/git/.ssh/id_rsa.pub //初始化

**初始化完出现3个文件**
**authorized_keys**
**id_rsa**
**id_rsa.pub**

最后:

chmod 600 authorized_keys
vim authorized_keys
“`

把你客户端生成的公钥复制进去就OK了
完成

相关内容

热门资讯

消息称百度旗下昆仑芯瞄准500... 6 月 29 日消息,据《The Information》昨日援引知情人士消息,百度旗下 AI 芯片...
打造夏日消费新场景 第35届北... 北京商报讯(记者 翟枫瑞)6月29日消息,第35届北京国际燕京啤酒文化节新闻发布会在京举行。本届啤酒...
社保基金持仓数据出炉,一季度增... 最近各大上市公司一季度财报都公开了,咱们国家社保基金的持仓数据也全部曝光。目前社保拿着比亚迪价值44...
36氪首发 | 海思、中兴团队... 作者 | 乔钰杰 编辑 | 袁斯来 硬氪获悉,广州宸思通讯科技有限公司(以下简称“宸思科技”)近日完...
两天蒸发47亿市值!一纸税务通... 一纸税务通知书,能让一家百亿龙头两天蒸发47亿市值。 6月22日,北大荒(600598.SH)公告称...
SK海力士将投资1100万亿韩... SK集团会长崔泰源6月29日在韩国“三大重大计划”发布会上宣布,公司将投资1100万亿韩元扩大半导体...
两只A股,终止上市! 两家A股公司,即将摘牌。 6月29日,退市沪科(600608.SH)公告称,上海证券交易所将在202...
原创 M... 一家成立近十年的自动驾驶公司,在IPO时吸引了14家基石投资者认购近一半的发行股份,其中不乏奔驰、比...
基金忠言|国寿安保滤镜碎,三年... 图片来源:视觉中国 蓝鲸新闻6月29日讯(记者 祁和忠)保险系基金公司国寿安保总经理换人了。 6月2...
三星电机计划加码玻璃基板!相关... 6月29日,玻璃基板概念股午后有所回升, 华工科技(000988.SZ)逼近涨停, 彩虹股份(600...
拉萨海关持续壮大外贸经营主体 ...   新华网拉萨6月28日电(记者蒋梦辰)近日,记者从拉萨海关获悉,今年前5个月,西藏有进出口实绩的外...
机构:二季报临近,医药生物板块... 6月29日,华源证券发布了一篇医药生物行业的研究报告,报告指出,业绩期临近,产业链景气度有望再次迎来...
每日收评科创50放量涨超4.5... 财联社6月29日讯,三大指数全线收红,创业板指探底回升,科创50指数大涨4.61%。沪深两市成交额3...
6月多地土拍结构性升温:深圳单... 进入2026年6月,不少城市核心区地块集中诞生高溢价宗地,热度突出的城市包含深圳、杭州、长沙。 其中...
业绩炸裂!盛达资源半年预盈3.... 6月29日,贵金属矿山龙头盛达资源(000603.SZ)发布 2026 年半年度业绩预告,上半年业绩...
A股午后拉升三大股指收涨:半导... A股三大股指6月29日开盘涨跌互现。早盘沪强深弱,创指一度跌超2%。半导体午后拉升,带动两市上涨,沪...
原创 空... 前言 大家好,我是老金。 这几天,两幅极度割裂的画面放在一起,把我看笑了。 一边是在持续的热浪下,欧...
澳大利亚审慎监管局拟放宽银行风... 澳大利亚审慎监管局(APRA)6月29日就修改 银行信用风险资本设定公开征求意见,旨在加大信贷投放以...
全民炒股,急踩刹车!韩国股市突... 屈红燕/证券时报网 全民狂欢、交易高度拥挤、杠杆资金猛增、新入市投资者表现激进、大型IPO吸金等现象...