2013-06-24 46 views
1

讓我開始說明明顯的......我對git的信心仍然在一個黑暗的角落裏徘徊:)
我們一直在使用它這裏的內部最近,我開始得到了它的竅門,但我有幾個小時就擺在面前我拿到駕照;)MsysGit git-cmd.bat命令行界面:我如何指定我的公鑰

我們有內部的資源庫我們的內部網,當使用git-cmd cli時,git在嘗試進行身份驗證時會在默認位置查找默認密鑰。
我們的存儲庫正在使用不同的密鑰。

是否有一個git配置文件或我可以編輯的東西放在適當的鍵的路徑?
如何設置憑據?

+0

您是否使用密鑰代理來存儲您的私鑰?像選美? – janos

+0

我在問Q的時候並沒有意識到,但是。TortoiseGIT有一個瀏覽器正在運行的實例,所以只要我的GIT_SSH env var配置正確,plink就可以直接掛鉤了。 – mOrloff

回答

1

簡短的回答

如果通過HTTPS訪問該存儲庫,那麼你可以使用http.sslKey配置或GIT_SSL_KEY環境變量中指定其位置(see the git config docs)

龍答案

通常它不要緊,你的私人密鑰,因爲理想它們存儲在一個關鍵的代理人,你需要弄清楚的是如何讓Git的使用密鑰劑。

(的事情是,理想的私人應該有一個密碼,所以重新輸入每次是不現實的,關鍵劑是爲了簡化這個。)

既然每個人都應該使用私鑰受密碼保護,因此是一個實用的關鍵代理,通常不必配置密鑰文件的位置。

在windows中我使用pageant作爲關鍵代理,它是PuTTY tools的一部分。只需運行pageant.exe並添加您的私鑰。接下來,爲了讓Git使用pageant來獲得您的私鑰,您需要將GIT_SSH環境變量設置爲指向plink.exe,例如/c/path/to/putty/plink.exe。即使它使用UNIX風格的路徑分隔符,也可以在環境變量中像這樣設置它。

我不熟悉TortoiseGit,但我猜想它可能有它自己的plink.exe,你也可以使用它。因爲你已經有TortoiseGit的工作,我猜測你甚至可能根本不需要關鍵代理,只需設置GIT_SSH。但這些只是猜測。我用PuTTY和pagent描述的設置應該可行,因爲我自己使用它。在任何情況下,你應該應該使用密鑰代理,並使用密碼等保護您的密鑰等。

+0

SWEET !!感謝所有的信息。聽起來很棒。我會給它一個鏡頭。 – mOrloff

+0

爲了幫助其他人,當在Windows(7)中創建_GIT_SSH_環境變量時,我確實需要確保到plink.exe的路徑沒有任何空格,所以我將「Program Files」目錄的符號鏈接到了[ ** junction **](http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx),並且我使用了Windows樣式路徑分隔符,因爲它幫助我排除了一些障礙。 – mOrloff

+0

@mOrloff你可以用反斜槓轉義空格,或者你可以把值放在雙引號內。無需爲此使用連接點。 – janos