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

22

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

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

Оливер
источник
«Push to deploy» означает использовать git-хуки, которые становятся активными после push. Какая функциональность по этому поводу вам не хватает в git-версии EL7? Я успешно использую Git 1.7.1 на EL6 для многих таких задач.
Свен
2
@Sven Исходя из необходимости более новой версии git, я бы скорее сказал, что он ссылается на Git 2.3 «Push to deploy», которая позволяет вам перемещаться в не-пустой репозиторий, а также обновлять его рабочий каталог - github.com/blog/1957-git-2-3-has-been-released
андол
andol прав, я хотел бы использовать новую функцию «push to deploy», которая появилась в Git 2.3
Оливер

Ответы:

11

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

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

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

lauvdh
источник
27

Вы можете использовать хранилище 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).

lospejos
источник
4
Определенно метод, который я бы использовал, поскольку вы устанавливаете RPM с хорошим обслуживанием, а не какими бы инструментами сборки вы ни создавали.
Кен Уильямс
1
Просто хочу отметить, что использование сторонних репозиториев может быть небезопасным. Вот сообщение в блоге, посвященное этой проблеме.
robsch
@robsch Я полностью согласен с этим и никогда не буду использовать внешние репо, если необходимые пакеты будут предоставлены в стандартных / официальных репозиториях. Как всегда, это обмен предмета. В любом случае, мы всегда должны следовать стратегии «подумай дважды, прежде чем делать».
Lospejos
12

У меня есть такой подход для 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/

Kirby
источник
1

Репо "Inline with Upstream Stable" ( 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) более громоздким. Они очень осторожны, чтобы не мешать пользователю, который их не использует. На мой взгляд, немного осторожнее.

Мэтью Ханниган
источник