svn項目遷移到git 初探

一、從svn導出項目

使用命令(地址可以是svn開頭,也可以是http,https):

git svn clone svn://xxx/project/iOS/Common --authors-file=usres.txt(可選) --no-metadata -s commom

可選部分是svn用戶名與git用戶名的一個映射文件,如:

schacon = Scott Chacon <schacon@geemail.com>

我這里沒有做這一步,所以不多說。

'--no-metadata ':表示去掉與svn有關的信息。

'-s'表示所有trunk,branches,tags。如果不想要所有的,需要單獨指定,但不保證不會出問題。

執行上面的命令后,我這邊報錯了,信息如下:

Using higher level of URL: svn://xxx/project/iOS/Common => svn://xxx/project

W: Ignoring error from SVN, path probably does not exist: (160013): Filesystem has no item: File not found: revision 100, path '/iOS/Common'

W: Do not be alarmed at the above message git-svn is just searching aggressively for old history.

This may take a while on large repositories

好像是說需要使用更高級別的URL,找不到/iOS/Common路徑,雖然不知道具體什么原因,但還是找到了解決方法,替換成如下命令:

git svn clone svn://120.78.128.162/project/iOS/Common --no-metadata commom

添加了'--no-minimize-url '參數,意思是不縮小輸入地址。

去掉了-s,這里有個問題是加入-s有時候可以,有時候卻不行,不知道為什么。總之有問題兩個都嘗試一下。

至此,我們已經從svn將項目導出了,而且是去除svn信息的。這里你會在'common'文件夾看到項目內容。

二、將項目提交到git倉庫

前提:我的倉庫是公司私有的,且是直接在網站上已經創建了的(且有了初始導入)。所以這里有點繞圈子了,如果沒有初始導入,那就很簡單了。直接add后push就可以了。

首先,我得先將git上的項目先clone下來(雖然里面就一個readMe文件),使用如下命令:

git clone http://xxx.git(會將git項目clone到當前文件夾下)

然后將上面從svn導出的項目拖入git目錄下。

之后就是添加并提交了:

cd git目錄下

git add .

git commit -m "xxx"

git push

如果這種方式不成功,最便捷的方式是使用工具來操作。可以下載sourceTree工具,直接將項目拉到倉庫里面,直接提交就好了。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 由于習慣了 GIT 版本管理,切回 SVN 落差太大.下面總結用 GIT 操作 SVN. 一.原理 1.本地倉庫以...
    Jack0111閱讀 2,922評論 0 1
  • 為了統一、規范開發流程,以及CICD的推進,將SVN整體遷移至git環境,需要將歷史記錄同步到git 本文參考了以...
    擱淺的三刀流zoro閱讀 515評論 0 0
  • svn有很多優點,但是git的出現對svn的沖擊的確很大,現在很多公司項目的都遷移的git上了,下面是我自己在做s...
    初xin工作室閱讀 258評論 0 1
  • 前言 最近剛把公司項目從 SVN 遷移到了 Git 上,在這里做個記錄。 數據遷移 執行上面的步驟就可以將 SVN...
    anyesu閱讀 6,505評論 1 2
  • 小時候我曾無意間聽到奶奶跟鄰居聊天:“這日子咋過恁快呢,人哪,一眨眼就老了。”那時,我調皮地把眼睛眨了又眨,心想:...
    娜樣年華_76b3閱讀 225評論 0 1