GIT - '~/repo.git/' не является командой git
У меня проблема с удаленным репозиторием git и локальным репо (с использованием SmartGit).
Я создаю удаленное репо на моем сервере через ssh:
> cd ~
> git init repo.git
> cd repo.git
> touch readme
> git add .
> git commit -m "Initial commit"
Отсюда все кажется идеальным. Сейчас я пытаюсь клонировать репо с помощью Smartgit с командой
ssh://user@server:22/~/repo.git
Все хорошо клонируется. Я делаю изменения в файле readme, сохраняю его и пытаюсь зафиксировать, нажать и получить ошибку:
The remote end hang up unexpectedly
git: '~/repo.git' is not a git command. See 'git --help'
Что я делаю неправильно? Спасибо.
3 ответа
Использование:
GIT_TRACE=2 git push origin master
и посмотрим, что происходит для устранения проблемы.
Обновить:
Пытается git-receive-pack
Попробуйте сделать ниже:
git config --global remote.origin.receivepack "git receive-pack"
А затем сделайте толчок снова.
Другие вещи, которые вы можете попробовать:
На удаленном сервере настройте пустое хранилище:
git init --bare
А затем попробуйте клонировать и подтолкнуть к нему.
Я бы предложил использовать полный путь вместо домашнего ярлыка (~), например, git clone ssh://user@server/home/tuergeist/repo
Это работает для меня на Linux, а также на WindowsXP в Git Bash.
Вы также должны соблюдать .git
расширение, это может сбить с толку ваши инструменты, так как он ожидает пустое хранилище. (Но я не уверен)
Вам не нужно указывать порт 22; это порт по умолчанию для SSH. Кроме того, SSH является значением по умолчанию, если вы укажете user@server:path
,
Попробуйте клонировать просто...
user@server:~/repo.git
вместо.