1

所以我使用 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。但是,我尝试使用它,它给了我以下错误:

远端意外挂断

当我手动将“来源”网址更改为:

https://SOME_USERNAME@github.com/SOME_USERNAME/some-project.git

有效。所以它不适用于“git@...”,但可以使用“https://..”。我试过另一个程序——SmartGit。它也给了我

远端意外挂断

但是当我尝试在 SmartGit 中执行此“更改 url 技巧”时,对于“https://...”,它给了我以下错误:

推送:身份验证失败

身份验证失败 设置远程

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

我完全迷失了所有这些东西。我究竟做错了什么?

4

3 回答 3

2

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

于 2012-01-01T12:29:04.740 回答
1

SSH 将在 中查找密钥%HOME%/.ssh,其中 (" HOME") 并不总是被定义(msysgit 将默认定义它,可能是 TortoiseGit 但您可以指定您的 ssh 密钥,可能不是SmartGit

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

于 2012-01-01T11:25:28.540 回答
0

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

于 2012-01-01T11:25:10.520 回答