2012-05-17 279 views
2

我使用SVN進行源代碼託管的託管公司的源代碼管理。我正在考慮將其遷移到Git並通過嘗試遷移到本地Git實例來測試遷移水域。我已經安裝了Git Extensions v2.31並安裝了我在安裝期間提供的msysgit版本。克隆Git的SVN存儲庫

安裝完成後,我點擊了'Clone SVN repository'選項並輸入SVN倉庫位置和其他必要的細節。點擊克隆按鈕。我當時在過程輸出窗口下面的消息呈現(我已經退敏的一些信息):

c:\Program Files (x86)\Git\bin\git.exe svn clone "https://foobar.domain.com/folder/name.svn" "c:/git/" 
Initialized empty Git repository in c:/git/.git/ 
Error validating server certificate for 'https://foobar.domain.com:443': 
- The certificate is not issued by a trusted authority. Use the 
    fingerprint to validate the certificate manually! 
Certificate information: 
- Hostname: *.domain.com 
- Valid: from Mar 18 13:23:06 2012 GMT until Apr 20 16:16:05 2013 GMT 
- Issuer: GeoTrust, Inc., US 
- Fingerprint: a2:36:f0:ae:8c:c7:a3:f2:be:98:b3:0f:2e:f8:3a:07:9a:94:90:81 

此時沒有別的獲取顯示,進度條仍然顯示進度,但沒有真正發生。這個問題似乎類似於這裏報道的:Git and SVN on Windows

但是,我甚至沒有選擇拒絕/接受等?任何人有任何想法?

TIA

回答

2

我想你電子書籍嘗試與SmartGit克隆。它是基於另一個引擎,而不是git-svn甚至SVN,所以我認爲你不會遇到這個問題。還有更多的理由更喜歡SmartGit:它將SVN的分支,標籤,忽略,EOL等概念轉化爲相應的Git概念,而git-svn則沒有。

0

看看SmartGit。它的SVN集成支持比git-svn更多的功能,它建立在不同的SVN客戶端庫上,通常可以很好地處理各種身份驗證方案。

8

你仍然可以用Git擴展來做到這一點。從Git Extensions中打開Git Bash並運行您在使用GUI時看到的命令:git svn clone "https://foobar.domain.com/folder/name.svn" "c:/git/"這將爲您提供在鏈接到的其他SO問題中看到的拒絕/接受臨時/永久選項。

如果您已經嘗試過「Clone SVN Repository」選項,並且從未見過如上所述的成功,那麼您的本地repo實際上已經設置好了,只是沒有填充任何文件。在這種情況下,你不再需要做一個克隆,只需一個獲取。在您嘗試克隆的項目上運行git svn fetch也會爲您提供拒絕/接受/ etc選項。

+2

使用Git Bash時,您可以永久接受證書,然後返回使用Git Extensions(或TortoiseGit)。 –

+0

我更喜歡在git clone命令中添加「svn」,所以我相信這個答案是最好的。 –

1

如果你不介意使用終端並更好地理解git是如何工作的,我建議你使用git bash。否則,您應該使用Syntevo的SmartGit,因爲它還提供了不同的引擎和密鑰管理,而且IMPO是Windows中最好的GUI工具。