git push origin master: «D: / Projects / TheProject» не является командой git - PullRequest
2 голосов
/ 26 апреля 2011

У меня есть две машины, на которых запущен cygwin ssh с msysgit.Я клонировал git-репозиторий со своего рабочего стола на свой ноутбук, как описано в «X» не является git-репозиторием (я уверен, что путь правильный) .Это оставляет меня с .git / config следующим образом:

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
    hideDotFiles = dotGitOnly
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = GitServer:D:/Projects/TheProject
[branch "master"]
    remote = origin
    merge = refs/heads/master

Клон работал отлично.git pull origin работает отлично.Но если я пытаюсь "git push origin master", я получаю следующую ошибку:

$ git push origin master
MyUser@TheDesktop's password:
git: 'D:/Projects/TheProject' is not a git command. See 'git --help'.
fatal: The remote end hung up unexpectedly

Есть какие-нибудь идеи по поводу исправления для этого?

Ответы [ 5 ]

2 голосов
/ 26 апреля 2011

http://www.cygwin.com/cygwin-ug-net/using.html#cygdrive рекомендует не использовать синтаксис "D: /" и предлагает использовать вместо него "/ cygdrive / d /".

Похоже, что у cygwin нет chsh, но вы можете вручную установить git-shell в вашей cygwin.bat .

1 голос
/ 09 мая 2012

Сначала запустите это на клиенте: git config --global remote.origin.receivepack "git receive-pack"

CD в ваш локальный репозиторий: cd mylocalrepo

Предполагая путь на стороне сервера == c: \ gitpub \ myproj.git, затемpull / push на сервер git fetch user@remoteserver.com:c:/gitpub/myproj.git master git push user@remoteserver.com:c:/gitpub/myproj.git master

Конечно, вы можете добавить удаленный ярлык: git remote add myremote user@remoteserver.com:c:/gitpub/myproj.git

, а затем: git fetch myremote master git push myremote master

Для получения дополнительной информации о настройке сервера cygwin / ssh я написал пост, в котором обсуждается настройка общего хранилища GIT на экземпляре Windows Server, работающем в облаке Amazon EC2:

http://cacheattack.blogspot.com/2012/05/installing-git-server-on-amazon-ec2.html

1 голос
/ 29 апреля 2011

Принятый ответ на этот вопрос исправил его для меня, а именно:

git config --global remote.origin.receivepack "git receive-pack"
1 голос
/ 26 апреля 2011

Вы можете использовать URL-адреса cygwin: используйте / d / Projects / TheProject вместо D: / Projects / TheProject

0 голосов
/ 04 мая 2011

Я перешел на использование git-версии cygwin, как упомянуто в комментарии ak2. Теперь все работает.

Но я помню, почему я вообще избегал cygwin git ... это часто (несколько раз в день) ошибки при использовании git svn. В конечном итоге мне приходится убивать все мои процессы cygwin и запускать «ash rebaseall», чтобы исправить это, или перезагружать мою машину. Это очень расстраивает.

...