所以我使用Git Bash创建了一个repo,它可以工作(github.com上的本地和远程repo)。 我已经推送README文件进行测试,但它确实有效。在我的配置中,一切似乎都没问题:
[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 -V git@github.com
给出了:
嗨SOME_USERNAME!您已成功通过身份验证,但GitHub可以 不提供shell访问权限。
我能够推送文件和所有内容,但只能通过Git Bash。 但是,我试图使用它,它给了我以下错误:
远程端意外挂断
当我手动将“origin”网址更改为:
https://SOME_USERNAME@github.com/SOME_USERNAME/some-project.git
有效。因此它不适用于“git @ ...”,但可以使用“https:// ..”。 我尝试过另一个程序--SmartGit。它也给了我
远程端意外挂断
但是当我尝试在SmartGit中执行“更改网址技巧”时,对于“https:// ...”,它会给我以下错误:
推送:身份验证失败
身份验证失败设置远程
设置协议不支持的远程服务路径。
我完全迷失了所有这些东西。我做错了什么?
答案 0 :(得分:2)
尝试以管理员身份运行SmartGit。
答案 1 :(得分:1)
SSH将查找%HOME%/.ssh
中的密钥,其中(“HOME
”)并不总是被定义(msysgit默认定义它,可能是TortoiseGit但you can specify your ssh keys,可能不是{ {3}})
因此,在启动SmartGit之前,请确保将HOME设置为 %userprofile%
。
答案 2 :(得分:0)
它不能与“git @”url一起使用但与“https”一起使用这一事实表明这与您的SSH密钥设置有关。确保您为TortoiseGit选择了“OpenSSH”选项(而不是PUTTY),并在TortoiseGit的设置页面中验证“Remote”部分是否指向放置键的位置。