Git: не удалось отправить на удаленный сервер, «REPOSITORY_PATH» не является командой git - PullRequest
4 голосов
/ 31 марта 2010

Я использую Git с TortoiseGit в Windows XP, и у меня есть удаленное пустое хранилище в 64-разрядной версии Windows Vista.

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

git.exe push    "origin" master:master

git: '/Git_Repository/.git' is not a git command. See 'git --help'.

fatal: The remote end hung up unexpectedly

произвольный URL-адрес: имя пользователя @ serverip: /Git_Repository/.git

Тот же произвольный URL работал просто отлично при выполнении clone / fetch / pull.

Доступ из локального каталога на удаленном компьютере к этому пустому хранилищу также не имеет проблем, поэтому я считаю, что с моим путем что-то не так.

Я могу правильно использовать push / pull в GitHub, но я использовал URL, предоставленный GitHub.

Кто-нибудь знает, что не так с моей конфигурацией?

Вот мой удаленный .git / config

[core]
repositoryformatversion = 0
filemode = false
bare = true
logallrefupdates = true
ignorecase = true
hideDotFiles = dotGitOnly

Вот мой локальный .git / config

[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
hideDotFiles = dotGitOnly
[remote "origin"]
fetch = +refs/heads
url = username@serverip:/Git_Repository/.git
[branch "master"]
remote = origin
merge = refs/heads/master

Я отредактировал URL-адрес, чтобы сделать его более точным, но он все еще показывает ту же ошибку

Более того, независимо от того, что я печатаю после подачи, оно все равно показывает одно и то же сообщение об ошибке

, если URL-адрес

ssh: // user @ server ip / Git_Repositorywrongname / .git

тогда сообщение об ошибке

git: '/Git_Repositorywrongname/.git' не является командой git. Смотрите «git --help».

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

Я следовал руководству в http://code.google.com/p/tortoisegit/wiki/HOWTO_CentralServerWindowsXP и связал 4 команды

Я что-то пропустил?

Спасибо за чтение

Ответы [ 3 ]

2 голосов
/ 04 марта 2011

Решено!

Запустите эту команду локально:

git config --global remote.origin.receivepack "git receive-pack"

и затем внутри локального репо просто запустите

git push origin master

Также вы можете добавлять команду recieveoack к каждому толчку

git push --receive-pack='git receive-pack'
0 голосов
/ 31 марта 2010

а как же

git push file:///\\<machine-ip>/<share-remote-repo>/
0 голосов
/ 31 марта 2010

Попробуйте указать протокол явно (здесь ssh), избегая использования ':' между частью user @ host и локальным путем (посмотрите URL-адреса, описанные в справочной странице git fetch ) :

url = ssh://username@serverip/C:/Git_Repository/.git

Другими словами, избегайте синтаксиса scp для этого типа пути.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...