У меня есть "setup-a-msysgit-server-with-copssh-on-windows", следуя типу Дэвиса guide и Теперь я узнал, как использовать команды git, следуя за Jason Meridth guide, и мне удалось все нормально работать, но теперь Я не могу передать команду push.
Я установил сервер и клиент на том же компьютере (на данный момент), win7-x64.
Вот некоторая информация о том, как все настроено:
CopSSH Folder : C:/SSH/
Local Home Folder : C:/Users/rvc/
Remote Home Folder: C:/SSH/home/rvc/ # aka /cygdrive/c/SSH/home/rvc/
git remote rep : C:/SSH/home/rvc/myapp.git # empty rep
В '/SSH/home/rvc/.bashrc' и 'Пользователи/rvc/.bashrc':
export HOME=/cygdrive/c/SSH/home/rvc
gitpath='/cygdrive/c/Program Files (x86)/Git/bin'
gitcorepath='/cygdrive/c/Program Files (x86)/Git/libexec/git-core'
PATH=${gitpath}:${gitcorepath}:${PATH}
Итак, клонирование работает (все, что ниже, выполняется через Git Bash здесь: P):
[email protected] /c/code
$ git clone ssh://[email protected]:5858/SSH/home/rvc/myapp.git
Initialized empty Git repository in C:/code/myapp/.git/
warning: You appear to have cloned an empty repository.
[email protected] /c/code
$ cd myapp
[email protected] /c/code/myapp (master)
$ git remote -v
origin ssh://[email protected]:5858/SSH/home/rvc/myapp.git (fetch)
origin ssh://[email protected]:5858/SSH/home/rvc/myapp.git (push)
Затем я создаю файл:
[email protected] /c/code/myapp (master)
$ touch test.file
[email protected] /c/code/myapp (master)
$ ls
test.file
Попробуйте нажать и получить эту ошибку:
[email protected] /c/code/myapp (master)
$ git add test.file
[email protected] /c/code/myapp (master)
$ GIT_TRACE=1 git push origin master
trace: built-in: git 'push' 'origin' 'master'
trace: run_command: 'C:\Users\rvc\bin\plink.exe' '-batch' '-P' '5858' '[email protected]
68.1.65' 'git-receive-pack '\''/SSH/home/rvc/myapp.git'\'''
git: '/SSH/home/rvc/myapp.git' is not a git command. See 'git --help'.
fatal: The remote end hung up unexpectedly
"git: '/SSH/home/rvc/myapp.git' не является командой git. См. 'git --help.".. что?!
EDIT: RAAAGE!!
У меня опять такая же проблема, но теперь с ssh:
[email protected] /c/code/myapp (master)
$ GIT_TRACE=1 git push
trace: built-in: git 'push'
trace: run_command: 'ssh' '-p' '5858' '[email protected]' 'git-receive-pack '\''/
SSH/home/rvc/myapp.git'\'''
git: '/SSH/home/rvc/myapp.git' is not a git command. See 'git --help'.
fatal: The remote end hung up unexpectedly
Я пробовал нажатие GUI и показывал одно и то же сообщение.
git: '/SSH/home/rvc/myapp.git' is not a git command. See 'git --help'.
Pushing to ssh://[email protected]:5858/SSH/home/rvc/myapp.git
fatal: The remote end hung up unexpectedly
Здесь токи .bashrc:
C:\Users\rvc.bashrc(я думаю, что это используется только cygwin/ git bash):
export HOME=/c/SSH/home/rvc
gitpath='/c/Program Files (x86)/Git/bin'
gitcorepath='/c/Program Files (x86)/Git/libexec/git-core'
export GIT_EXEC_PATH=${gitcorepath}
PATH=${gitpath}:${gitcorepath}:${PATH}
C:\SSH\home\rvc.bashrc(.. и это используется, когда git подключается через ssh к серверу "remote"):
export HOME=/c/SSH/home/rvc
gitpath='/cygdrive/c/Program Files (x86)/Git/bin'
gitcorepath='/cygdrive/c/Program Files (x86)/Git/libexec/git-core'
export GIT_EXEC_PATH=${gitcorepath}
PATH=${gitpath}:${gitcorepath}:${PATH}
ИЗМЕНИТЬ 2: Дополнительная информация:
[email protected] /c/code/myapp (master)
$ ssh -p 5858 [email protected] git-receive-pack /SSH/home/rvc/myapp.git
git: '/SSH/home/rvc/myapp.git' is not a git command. See 'git --help'.
РЕДАКТИРОВАТЬ 3:
[email protected] /c/code/myapp (master)
$ git push --receive-pack='git receive-pack' ssh://[email protected]:5858/SSH/home/rvc/myapp.git --a
ll
Counting objects: 3, done.
Writing objects: 100% (3/3), 202 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To ssh://[email protected]:5858/SSH/home/rvc/myapp.git
* [new branch] master -> master
Это сделал трюк
git push работает 'git -receive-pack', и он должен быть 'git receive-pack'?
Моя версия git: git версия 1.7.0.2.msysgit.0 '