2012-01-01 74 views
1

因此,我使用Git Bash創建了一個回購,並且它可以工作(在github.com上的本地和遠程回購)。 我推送了README文件進行測試,它工作。在我的配置似乎一切都還好:Git推在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.

而且我能推的文件和一切,而只能通過混帳擊。 不過,我已經試過一起工作,它給了我下面的錯誤:當我手動更改了「原點」 URL這個

The remote end hung up unexpectedly

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

它的工作。所以它不適用於「git @ ...」,但可以使用「https:// ..」。 我試過另一個程序--SmartGit。這也給了我

The remote end hung up unexpectedly

,但是當我嘗試做SmartGit這個「變更網址帽子戲法」,爲「https:// ...」它給了我下面的錯誤:

Push: Authentication failed

Authentication failed Setting remote

Setting remote service path not supported by protocol.

我完全失去了所有這些東西。我究竟做錯了什麼?

+0

你知道TortoiseGit和GitBash是否使用相同的ssh密鑰嗎? – Douglas 2012-01-01 10:39:38

回答

2

嘗試以管理員身份運行SmartGit。

+0

謝謝,它現在可行!我怎麼能想到這一點。 – grjj3 2012-01-01 12:31:40

0

事實上,它不與「git @」網址一起使用,但與「https」一起使用,這表明這是與您的SSH密鑰設置有關。確保您爲TortoiseGit選擇了「OpenSSH」選項(而不是PUTTY),並在TortoiseGit的設置頁面中確認「遠程」部分指向放置密鑰的位置。

+0

是的,我選擇了OpenSSH。 – grjj3 2012-01-01 12:19:48

1

SSH將尋找鑰匙在%HOME%/.ssh,其中(「HOME」)並不總是定義(msysgit將默認,也許TortoiseGit但you can specify your ssh keys定義它,大概不會SmartGit

所以一定要確保HOME設置到%userprofile%,啓動SmartGit之前。

相關問題