2012-12-01 57 views
16

當使用的GitHub爲Mac應用程序(版本87),收到以下錯誤:GitHub的爲Mac錯誤:GIT中: '憑據osxkeychain' 不是一個git命令

git: 'credential-osxkeychain' is not a git command. See 'git --help'.

error: The requested URL returned error: 403 while accessing https://github.com/[PROJECT URL]/info/refs

fatal: HTTP request failed (256)

的GIT中的命令行工具(版本1.8.0)安裝在/usr/local/git/bin和git-credential-osxkeychain已正確安裝在/usr/local/git/bin

我該如何解決這個錯誤?

+2

你輸入了什麼? –

+2

我沒有輸入任何內容,我點擊了Sync按鈕。我有一個解決方案,但stackoverflow不會允許我發佈它,直到8小時後,我是一個新用戶。 –

+0

'sudo ln -s/usr/local/git/bin/git-credential-osxkeychain/usr/local/bin/git-credential-osxkeychain'應該修復它。 @William雖然在'/ usr/bin'中創建了一個類似的回答,而不是'/ usr/local/bin' –

回答

10

此問題的根源在於Mac的GitHub使用與命令行工具不同的目錄路徑作爲它的可執行文件。

GitHub上爲Mac: /Applications/GitHub.app/Contents/Resources/git/bin

命令行工具:在/ usr /本地/ git的/ bin中/

所以當GitHub上對於Mac嘗試同步分支,它會顯示錯誤,因爲它找不到git-credential-osxkeychain可執行文件。

爲了解決這個問題:

  1. 啓動終端
  2. 創建一個從命令行工具的git-憑據osxkeychain一個符號LINK DIRGitHub上的Mac迪爾

ln -s <git-command-line-tools dir path>/git-credential-osxkeychain <github for mac path>/git-credential-osxkeychain

這是我在我的系統上使用的命令:

ln -s /usr/local/git/bin/git-credential-osxkeychain /Applications/GitHub.app/Contents/Resources/git/bin/git-credential-osxkeychain

+4

我有和Atlassian的'SourceTree'應用程序相同的問題 - 底層問題是一樣的。通過選擇'SourceTree> Preferences> Git','Use System Git',我能夠通過從SourceTree的嵌入式git切換到全局安裝的git來解決這個問題。另外請注意,Github for Mac現在允許您轉向相反的方向:您可以選擇通過「Preferences」使其嵌入式git版本充當全局安裝的git版本。 – mklement0

+2

該解決方案與SourceTree的工作方式相同,只有鏈接的目標成爲'/ Applications/SourceTree.app/Contents/Resources/git_local/bin'當前版本的Mac git客戶端包含'git-credential-osxkeychain',所以用於指向「Use System Git」首選項的+1。這可能是SourceTree用戶「應該」完成的方式。否則,如果/當git更新和SourceTree不兼容,'git-credential-osxkeychain'將與SourceTree將使用的其他git可執行文件的版本不匹配。 –

+0

這也適用於SmartGit for mac。對於smartgit'ln -s/usr/local/git/bin/git-credential-osxkeychain/Applications/SmartGit.app/Contents/Resources/git/bin/git-credential-osxkeychain',解決方案是相同的。 – hitautodestruct

2

這個總是與源代碼樹的應用程序和更改設置使用該系統的git不與源極嵌入式git的解決方案發生因爲源碼樹使用的是舊版本 ,或者你可以用git executable的路徑更新設置,你應該在/ usr/bin/git中找到它,或者你可以打印哪個git並指向你的源碼樹應用程序來使用它

0

設置

/usr/local/git/bin/git-credential-osxkeychain

在你的道路上也行得通,或者你的路徑可能在哪裏。

雖然我不確定哪種解決方案更可取。

0

在與我的一位同事一起工作之後,我們能夠通過將SourceTree更新爲最新版本來解決問題。

對於未來的觀衆,纔去下符號鏈接路徑,請確保您已爲源樹(首選項 - >更新選項卡)啓用自動更新,然後檢查更新(在Mac上的源代碼樹菜單)

0

我不得不這樣做sudo ln -s /usr/local/git/bin/git-credential-osxkeychain /usr/bin/git-credential-osxkeychain因爲我升級的git,然後複製在/ usr /本地/ git的/斌/的git到/ usr/bin中/混帳

0

http://backlogtool.com/git-guide/cn/reference/trouble-shooting.html

HTTPS要求密碼每次執行推送時間/拉 如果你是窗戶,只是第一次

但在Mac中,您可以使用與鑰匙鏈連接的身份驗證助手。使用Homebrew的用戶在安裝Git時會自動安裝身份驗證助手。另外,您需要手動安裝。

如果要驗證您是否有安裝認證助理,可以使用以下命令進行確認。

$ **git credential-osxkeychain**

如果沒有安裝認證助理,顯示以下內容。

git: 'credential-osxkeychain' is not a git command. See 'git --help'.

在這一點上,你可以下載該認證助理正確的道路。

step1。 **curl -s -O http://github-media-downloads.s3.amazonaws.com/osx/git-credential-osxkeychain**

step2。 **chmod u+x git-credential-osxkeychain**

step3。 **mv git-credential-osxkeychain /usr/local/bin**

安裝完成後,設置打開身份驗證助手。

step4。 **git config --global credential.helper osxkeychain**

相關問題