Ответ 1
Если вы не можете настроить эффективную PATH на удаленной стороне 1 вам нужно будет указать расположение программ с вашей локальной стороны.
Как вы нашли, git clone
можно указать -u /path/to/git-upload-pack
(или --upload-pack /path/to/git-upload-pack
).
git fetch
и git pull
принять --upload-pack /path/to/git-upload-pack
(не -u
, однако, поскольку это означает что-то другое для этих программ). Они также проверяют конфигурационную переменную remote.<name>.uploadpack
.
git push
принимает --receive-pack /path/to/git-receive-pack
и проверяет конфигурационную переменную remote.<name>.receivepack
.
После клонирования вашего репозитория вы можете использовать переменные конфигурации для записи путей:
git clone -u /home/bin/git-upload-pack [email protected]:mygitfolder
cd mygitfolder
git config remote.origin.uploadpack /home/bin/git-upload-pack
git config remote.origin.receivepack /home/bin/git-receive-pack
Затем вы можете нажимать, извлекать или тянуть без указания пути.
1
Вы сказали, что "переменные среды [заблокированы для учетных записей SSH" ). Если вы имеете в виду, что sshd отключил настройку PermitUserEnvironment
(это означает, что вы не можете использовать environment="PATH=/home/bin:/usr/bin:/bin"
в вашем файле .ssh/authorized_keys
), вы все равно сможете изменить свой PATH по умолчанию через файл инициализации оболочки (например, .bashrc
).