Можно ли добавить дополнительные пользовательские пути в Git для поиска сценариев и команд с помощью gitconfig или аналогичного?

#git

Вопрос:

Я пытаюсь настроить свой портативный Git для поиска дополнительных сценариев в определенной папке.

Рассмотрим этот пример древовидной структуры каталогов

 -- my-portable-git
│
├───git-scripts
│       git-myscript
│       ⋮       # some more scripts
└───portable-git
        ⋮       # rest of files for portable git
 

Поскольку я не могу редактировать свою PATH переменную env для $reasons , можно ли добавить с помощью .gitconfig или другими способами дополнительные пути для git использования при вызове сценариев/команд/и т. Д.?

Ссылаясь на пример выше: можно ли сказать git : «Эй, мерзавец, загляните также в папку ../git-scripts/ для получения дополнительных команд, пожалуйста!» без редактирования PATH env?

Ответ №1:

ДА. Установите переменную GIT_EXEC_PATH среды.

Видишь https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables

Комментарии:

1. Интересно, но, к сожалению, у меня нет активной оболочки, в которой я мог бы изменить параметры env, возможно, я смогу взломать оболочку git, которая сначала установит env….

2. @Грубер: конечно, если вы можете вставить оболочку, вы можете вставить и ту, которая задает $PATH/вместо этого 🙂

Ответ №2:

В конце концов я выбрал быстрый пакетный сценарий, и да, то, что предложил Торек, действительно более подходит для этого решения. Работает хорошо, и при необходимости можно добавить больше путей.

 :: Git wrapper to ensure this folder is included in the PATH
:: gitw.cmd

@echo off
setlocal enableextensions

set "_GITW_DIR=%~dp0"

set "PATH=%_GITW_DIR%;%PATH%"

:: just an additional echo for the passed git command, can be removed
echo CMD: %*

"pathtoyourbinarygit.exe" %*

endlocal