Я использовал Git Bash для Windows, чтобы клонировать репозиторий из внутренней сети компании, и это репо также должно иметь remote.origin.uploadpack
и remote.origin.receivepack
;так в основном процедура выглядит так:
git clone --upload-pack='\/home/windows/dept/REMUSER/git-core/git-upload-pack' ssh://LOCALUSER@.... new_git_folder
cd new_git_folder
git config remote.origin.uploadpack "/home/windows/dept/REMUSER/git-core/git-upload-pack"
git config remote.origin.receivepack "/home/windows/dept/REMUSER/git-core/git-receive-pack"
Итак, клон проходит, но когда я делаю первый толчок, я получаю:
$ git push --all
LOCALUSER@....'s password:
bash: C:/Program: No such file or directory
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Итак, я подумал, какого черта- Я никогда нигде не использовал C:/Program
?
Ну, получается, во-первых: если аргумент git config remote.origin.uploadpack
не заключен в кавычки, как в:
git config remote.origin.uploadpack /home/windows/dept/REMUSER/git-core/git-upload-pack
..затем команда вроде полностью игнорируется (то есть, когда я делаю git config -l
в папке локального репо, нет никакого упоминания о remote.origin.uploadpack
).
Однако, когда в кавычках, как в примере выше, кажется, что пишет в конфиг - но это совершенно неправильно:
$ git config -l
...
remote.origin.uploadpack=C:/Program Files/Git/home/windows/dept/REMUSER/git-core/git-upload-pack
...
Так что, даже если я указал git config remote.origin.uploadpack "/home/windows/dept/REMUSER/git-core/git-upload-pack"
-по какой-то причине я до сих пор получил строку C:/Program Files/Git
- это локальный путь к установке Git - перед ней ?!ЗАЧЕМ?!remote.origin.uploadpack
даже не работает с локальными вещами?!
Я обнаружил, что если я начну значение пути remote.origin.uploadpack
с обратной косой черты, то есть:
git config remote.origin.uploadpack "\/home/windows/dept/REMUSER/git-core/git-upload-pack"
... тогда это заставляет репо (то есть git push
) работать - однако обратная косая черта также заканчивается в конфигурации:
$ git config -l
...
remote.origin.uploadpack=\/home/windows/dept/REMUSER/git-core/git-upload-pack
...
Итак, как мне указать команду пути git config remote.origin.uploadpack
, так что я НЕ получаю локальный путь установки Git для Windows, добавленный к нему в локальной конфигурации git - И у меня тоже не заканчивается обратный слеш, добавленный к нему?
Это происходило в Windows 10,Git-2.19.0-64-bit.exe