GitPush在GitBash中工作,但在SmartGit或TortoiseGit中不工作

GitPush在GitBash中工作,但在SmartGit或TortoiseGit中不工作,git,git-bash,tortoisegit,smartgit,Git,Git Bash,Tortoisegit,Smartgit,因此,我使用GitBash创建了一个repo,它可以正常工作(github.com上的本地和远程repo)。 我已经推送了自述文件进行测试,它成功了。在我的配置中,一切似乎都正常: [core] repositoryformatversion = 0 filemode = false bare = false logallrefupdates = true symlinks = false ignorecase = true hideDot

因此,我使用GitBash创建了一个repo,它可以正常工作(github.com上的本地和远程repo)。 我已经推送了自述文件进行测试,它成功了。在我的配置中,一切似乎都正常:

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
    hideDotFiles = dotGitOnly
[gui]
    pruneduringfetch = true
    encoding =
[remote "origin"]
    url = git@github.com:SOME_USERNAME/some-project-name.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
$ssh-Vgit@github.com
给出了:

嗨,有人!您已经成功地进行了身份验证,但GitHub进行了身份验证 不提供shell访问

我可以推送文件和所有东西,但只能通过Git Bash。 但是,我尝试使用它,它给了我以下错误:

远端意外挂断

当我手动将“源”url更改为:

成功了。所以它不适用于“git@...“但一定要合作”https://..". 我尝试了另一个程序-SmartGit。它也给了我

远端意外挂断

但当我尝试在SmartGit中使用“更改url技巧”时,例如https://...“它给了我以下错误:

推送:身份验证失败

身份验证设置远程失败

设置协议不支持的远程服务路径


我完全被这些东西迷住了。我做错了什么?

它不适用于“git@”url,但适用于“https”,这表明这与SSH密钥设置有关。确保您已为Ortoisegit选择了“OpenSSH”选项(而不是PUTTY),并在Ortoisegit的设置页面中验证“远程”部分是否指向您的密钥放置位置。

SSH将在
%HOME%/.SSH
中查找密钥,但它并不总是定义(“
HOME
”)(msysgit将默认定义它,可能是TortoiseGit,但可能不是)


因此,在启动SmartGit之前,请确保HOME设置为
%userprofile%

尝试以管理员身份运行SmartGit。

您知道TortoiseGit和GitBash是否使用相同的ssh密钥吗?是的,我在设置中选择了OpenSSH。