2012-01-01 5 views
1

Итак, я создал репо с помощью Git Bash, и он работает (локальное и удаленное репо на github.com). Я нажал файл README для тестирования, и он сработал. В моей конфигурации все, кажется, хорошо:Git push работает в Git Bash, но не в SmartGit или TortoiseGit

[core] 
    repositoryformatversion = 0 
    filemode = false 
    bare = false 
    logallrefupdates = true 
    symlinks = false 
    ignorecase = true 
    hideDotFiles = dotGitOnly 
[gui] 
    pruneduringfetch = true 
    encoding = 
[remote "origin"] 
    url = [email protected]:SOME_USERNAME/some-project-name.git 
    fetch = +refs/heads/*:refs/remotes/origin/* 
[branch "master"] 
    remote = origin 
    merge = refs/heads/master 

И $ ssh -V [email protected] дает:

Hi SOME_USERNAME! You've successfully authenticated, but GitHub does not provide shell access.

И я могу нажать файлы и все, но только через Git Bash. Однако, я пытался работать, и он дал мне следующую ошибку:

The remote end hung up unexpectedly

Когда я вручную изменил «происхождение» URL к этому:

https://[email protected]/SOME_USERNAME/some-project.git

Он работал. Поэтому он не работает с «git @ ...», но работает с «https: // ..». Я пробовал другую программу - SmartGit. Это также дает мне

The remote end hung up unexpectedly

, но когда я пытаюсь сделать это "Изменить URL-трик" в SmartGit, для "https: // ..." это дает мне следующую ошибку:

Push: Authentication failed

Authentication failed Setting remote

Setting remote service path not supported by protocol.

Я полностью потерял все это. Что я делаю не так?

+0

Знаете ли вы, что TortoiseGit и GitBash используют одни и те же ключи ssh? – Douglas

ответ

2

Попробуйте запустить SmartGit как администратор.

+0

Спасибо, сейчас работает! Как я не мог думать об этом. – grjj3

0

Тот факт, что он не работает с URL-адресом «git @», но работает с «https», показывает, что это связано с настройкой ключа SSH. Убедитесь, что вы выбрали опцию «OpenSSH» (а не PUTTY) для TortoiseGit, а на странице настроек TortoiseGit убедитесь, что раздел «Удаленный» указывает на место, где находятся ваши ключи.

+0

Да, я выбрал OpenSSH в настройке. – grjj3

1

SSH будет искать ключи в %HOME%/.ssh, что («HOME») не всегда определяется (msysgit будет определять его по умолчанию, может быть TortoiseGit но you can specify your ssh keys, вероятно, не SmartGit)

Поэтому убедитесь, что HOME установлен до %userprofile%, перед запуском SmartGit.