2013-03-21 93 views
11

當我從命令行鍵入git pull時,我可以得到沒有任何問題的代碼。SourceTree for Windows not working

當我打開SourceTree的Windows,並嘗試一拉,我得到:

git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin 
fatal: Could not read from remote repository. 
Please make sure you have the correct access rights 
and the repository exists. 



Completed with errors, see above. 

什麼可能我是做錯了什麼?

+0

我有同樣的事情,我無法找到一個解決方案。我會將此報告給Atlassian支持。 – Kriem 2013-03-22 10:33:19

+0

順便說一句,對於我來說,當用命令行克隆回購時,我可以將工作副本添加到sourcetree。但是,那麼我將無法推動。另外,這也適用於windows或mac的git。你呢? – Kriem 2013-03-22 10:57:33

+0

And:http://stackoverflow.com/questions/15548200/cloning-a-git-repo-succeeds-with-the-command-line-but-fails-with-a-git-gui-clie – Kriem 2013-03-22 10:57:52

回答

11

看起來好像在Windows上使用SourceTree必須使用Putty Agent。 OpenSSH鍵不起作用。

如果只有OpenSSH密鑰:

  1. 點擊創建或導入SSH密鑰在工具菜單
  2. 膩子密鑰生成
  3. 選擇轉換菜單
  4. 進口關鍵選擇您的私鑰並點擊保存私鑰

你現在有PPK文件包含你的鍵。

在源代碼樹中從工具菜單啓動SSH代理並瀏覽到您的PPK文件。

所有操作現在應該可以正常工作。

+0

如果您不想使用密鑰而只是使用密碼,該怎麼辦? Windows的Sourcetree似乎不允許這樣做。 – geoidesic 2016-04-15 07:13:30

+0

以使OpenSSH密鑰執行ssh-keygen.exe應用程序( \ usr \ bin \)並遵循默認設置。這將id_rsa和id_rsa.pub文件放在 \ .ssh目錄中。 – rvheddeg 2016-09-15 09:54:00

+0

當我按照上述步驟,它適用於我.. – 2016-12-21 06:40:21

5

如果身份驗證使用公鑰/私鑰對這個工作:

  1. 打開Sourcetree,進入「工具>創建或SSH密鑰導入」(這將打開一個PuTTY密鑰生成窗口),然後點擊關於「生成」。

  2. 生成後,轉到drupal.org並導航到「我的帳戶>配置文件> SSH密鑰」,然後單擊「添加公鑰」。

  3. 複製從「PuTTY密鑰生成」窗口生成的公鑰(「公鑰粘貼到OpenSSH的authorized_keys文件:」),以drupal.org上並保存。

  4. 在「PuTTY Key Generator」窗口中輸入「密鑰密碼」和「確認密碼」,然後單擊「保存私鑰」。請務必將它保存在可以再次找到它的地方。

  5. 關閉「PuTTY Key Generator」窗口並在SourceTree中轉到「工具>啓動SSH代理(頁面)」。你應該可以在這裏選擇你的私鑰文件。 (您剛剛保存的那個)

  6. 使用drupal.org提供的鏈接添加您的存儲庫。 ([email protected]:project/your_project.git)

+1

謝謝,但我沒有試圖推動任何東西到Drupal?這是我們自己的服務器。 – 2013-03-23 20:36:28

1

您不需要在Windows中使用Putty,但建議使用Putty,否則每次啓動SourceTree時都必須重新添加ssh密鑰。
要做到這一點,請轉至'工具 - >添加SSH密鑰...'並選擇您在雲服務器(Git,BitBucket ...)中提供的密鑰。現在,只要您使用ssh url克隆存儲庫,就可以正確地推/拉。
請記住,只有當您可以成功地從命令行推入/拉出時,這可能會適用於您,如果您不是那麼您有其他類型的問題。
如果不小心使用HTTPS URL,然後克隆你的資料庫:

git remote set-url <remote> <ssh-uri> 

像:

git remote set-url origin [email protected]