2012-05-07 136 views
1

今天,我把我們的svn倉庫克隆到git中。雖然我有一些未提交的工作,所以我svn commit他們,然後去拉他們到git存儲庫。從svn倉庫克隆的Git無法識別遠程

的問題是,混帳似乎是莫名其妙困惑的svn庫。

首先,git remote說明不了什麼!但是,如果我編寫git pull <tab>,它會自動完成svn-remote.svn。嘗試結果

fatal: 'svn-remote.svn' does not appear to be a git repository 
fatal: The remote end hung up unexpectedly 

我去看看git自己的文件。下面是配置文件:

[core] 
     repositoryformatversion = 0 
     filemode = true 
     bare = false 
     logallrefupdates = true 
[svn-remote "svn"] 
     url = svn+ssh://[email protected]_address 
     fetch = libskin/dev:refs/remotes/trunk 
     branches = libskin/branch/*:refs/remotes/* 

因此遠程居然有(雖然奇怪的是樹枝都沒有)。所以我試着嘗試git pull svngit pull trunk和其他東西,他們都失敗了相同的消息。

我甚至嘗試在配置文件中手動添加一個分支:

[branch "master"] 
     remote = svn 
     merge = refs/heads/master 

,但問題仍然存在。

如何解決此問題?

回答

6

同時使用Git和Subversion,你使用的命令是git-svn

git svn fetch 
git svn rebase 

你不能犯與普通的Git命令新SVN。您可以閱讀更多tutorial here

+1

傻逼我!當然! – Shahbaz

0

同時使用Git和Subversion的只是安裝SubGit到你的資料庫。 它使SVN和Git存儲庫在服務器上自動同步。因此,您可以使用任何SVN或Git客戶端來處理存儲庫。與git-svn相比,它更好地保留了像忽略,EOL,標籤等SVN概念(將它們轉換爲.gitignore,.gitattributes,Git標籤等)。

如果你需要一個只有客戶端的解決方案,我會建議你使用SmartGit。它也比git-svn更好地保留了這些SVN概念。 。