Назад | Перейти на главную страницу

Установите более новую версию Git на CentOS 7

Мне нравится включать Git «Push to Deploy» на моем сервере CentOS 7. В настоящее время я могу получить Git 1.8.3.1 только через yum. Мне нужна более новая версия.

Нужно ли мне собирать его из исходного кода или есть какое-нибудь репо, которое я могу использовать? Я уже добавил EPEL и Elrepo но yum по-прежнему дает мне Git 1.8.3.1.

Вы могли бы использовать Репозиторий IUS (https://ius.io/), как указано на официальном сайте Git здесь: https://git-scm.com/download/linux

Для этого запустите (как root):

yum install epel-release
yum remove git
rpm -U https://centos7.iuscommunity.org/ius-release.rpm
yum install git2u

(centos7 можно заменить на centos6 или rhel{6,7} если вы не используете CentOS).

Другой вариант - использовать другой репозиторий RPM:

sudo yum -y install https://packages.endpoint.com/rhel/7/os/x86_64/endpoint-repo-1.7-1.x86_64.rpm
sudo yum install git

Сборка из исходного кода довольно проста. Digital Ocean имеет хорошее руководство по сборке Git из исходников на CentOS 7. Поместите полученный двоичный файл в / usr / local / bin / в свою систему CentOS 7 (которая по умолчанию включена в ваш $ PATH), и все готово.

Конечно, вы бы предпочли пакеты / использование репо, однако, учитывая вашу ситуацию, я бы без колебаний построил его сам.

Для общей информации; Push to Deploy была представлена ​​в Git 2.3.0. Обязательно используйте эту версию или выше.

У меня есть такой подход для CentOS 7.2:

rpm -U http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm \
    && yum install -y git

На данный момент у меня есть 2.10.0 Версия GIT.

Или для CentOS 7.1 тот же путь, но wandisco-git-release-7-1.noarch.rpm.

Вы можете проверить доступные выпуски http://opensource.wandisco.com/centos/7/git/x86_64/

Red Hat поддерживает коллекцию программного обеспечения для Git 2.9:

https://www.softwarecollections.org/en/scls/rhscl/rh-git29/

Это самый простой и безопасный способ установить Git 2.x на CentOS.

"В соответствии со стабильным апстримом" (https://ius.io/) репо мне кажется неплохим.

У него есть git 2.x rpms, которые хорошо работают с системой конфликтов rpm.

Здесь вы можете найти git rpms:

https://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/repoview/letter_g.group.html

Я нашел способ SCL (Software Collections) более громоздким. Они очень осторожны, чтобы не мешать пользователю, который их не использует. На мой взгляд, немного осторожнее.

Вот шаги для тех, кто не может использовать нестандартные / внешние репозитории на Centos 7.6.

Эти шаги также можно поместить в Dockerfile (если вы не хотите обновлять версию Centos).

yum update -y
yum install wget which zlib-devel perl-devel -y
wget https://github.com/git/git/archive/v2.26.2.tar.gz -O /tmp/git.tar.gz
cd /tmp && tar -zxf git.tar.gz
cd /tmp/git-2.26.2
make configure
# ./configure # to overwrite your existing git and YUM managed git locations
./configure --prefix=/usr/local # standard way
make install
whereis git