Я пытаюсь добавить функциональность git в производственную систему CentOS 5.5, в которой нет инструментов разработки (поскольку это производственная система). Так что у меня нет доступа к make/gcc/etc. Я в основном хочу установить Git, чтобы иметь возможность легко и быстро синхронизировать каталог веб-сайта с моим репозиторием Git, поэтому мне не нужно компилировать какие-либо исходные файлы.
У меня нет доступа с правами root, и по понятным причинам root не хочет устанавливать Git в системе prod, но ничего страшного, если я могу настроить его локально для собственного использования.
Я пытался загрузить и распаковать git-core.rpm в мою домашнюю директорию, и хотя я могу запустить некоторые функции git, ни одна из зависимостей git не находится там, где он их ожидает, и поэтому не работает.
Моя структура выглядит следующим образом:
~/git
~/git/usr
~/git/usr/bin
~/git/usr/share
~/git/usr/share/doc
~/git/usr/share/git-core
~/git/usr/share/locale
~/git/usr/share/man
Когда я запускаю что-то вроде git help clone
, я получаю сообщение об ошибке msg No manual entry for git-clone
. Это подтверждается git --man-path
(/usr/share/man). Другие команды не работают аналогично.
Как я могу сказать git использовать ~/git
в качестве корня вместо /
в качестве корня для всех зависимостей git без перекомпиляции? Я не могу найти какие-либо переменные среды или мерзавцы, которые я могу установить.
Здесь есть аналогичный вопрос, размещенный на SO, но, к сожалению, оба предложенных решения нежизнеспособны - то есть: перекомпилировать git (у меня нет инструментов make) или распаковать rpm (пробовал, но, как указано, git ищет предопределенные пути) ,
Как предложено здесь, я попытался установить GIT_EXEC_PATH, но также с минимальным успехом:
[eric ~]$ export GIT_EXEC_PATH=~/git/usr/bin/git
[eric ~]$ git --man-path
/usr/share/man
[eric ~]$ git help clone
No manual entry for git-clone
[eric ~]$ git --exec-path
/home/eric/git/usr/bin/git