Как установить GIT PATH в centos 7? - PullRequest
       27

Как установить GIT PATH в centos 7?

0 голосов
/ 02 декабря 2018

В моем случае я хочу использовать последнюю версию GIT в CentOS7.Но у меня нет доступа sudo для установки git в коробке.

Установленная версия git 1.8.3.1.Но я хочу использовать 2.4.11, потому что версия 1.8.3 выдает такие ошибки, как

unrecognized argument: --author-date-order

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

$git.Linux.x86_64/bin/git --version
git version 2.4.11

Но я не могу изменить код во всех местах с путем.Есть ли способ установить последнюю версию git PATH и использовать ее без установки?

Буду очень признателен за любую помощь в этом.

Ответы [ 2 ]

0 голосов
/ 02 декабря 2018

Я полагаю, что вам не повезло, но, возможно, нет.

Когда что-то (ваша оболочка, другая программа, что-нибудь) пытается вызвать Git, операционная система ищет исполняемый файл программы с именем Git в каждом изпапки в переменной PATH.

Так что, если вы хотите запретить Git совпадение с существующей версией, установленной root, то вам не повезло, если не считать удаления некоторых очень важных папок из PATH ( не делай этого! ).Тем не менее, вы МОЖЕТЕ выяснить порядок, в котором ОС ищет переменную PATH, чтобы найти исполняемый файл Git, и вы можете добавить или добавить вашу папку git bin.Таким образом, предполагая, что ОС выполняет поиск предсказуемым образом, она должна найти ВАШ Git, прежде чем обнаружит, что Git установлен в масштабе всей системы.

Затем вы можете изменить .bashrc, чтобы последовательно добавлять / добавлять папку git bin какВаш пользователь входит в систему.

Это немного хакерство и может привести к неопределенному поведению, хотя пользователь должен остерегаться.Правильным способом было бы попросить вашего системного администратора обновить Git или исправить ошибки, чтобы вы могли его использовать.

EDIT После быстрого теста на Fedora (который должен вести себя аналогично CentOS с учетомэто дистрибутив Red Hat) он, кажется, ищет с начала пути (с левой стороны) и останавливается после первого совпадения.

EDIT 2 Мне также приходит в голову предупредить вас: это будет работать только для вызовов Git из вашей пользовательской среды.Если вы запускаете что-то от имени другого пользователя, или что-то, у кого нет той же переменной $ PATH, то это приведет к появлению другой версии, установленной для всей системы.Опять же, пользователь остерегается.

0 голосов
/ 02 декабря 2018

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

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

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

или

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