由于工作需要蚂踊,要將原來本地的SVN項目遷移到GIT@OSC约谈,因此記錄下,以便日后翻看犁钟。
1.安裝Git
可以到Git-Download上下載最新版本的git進行安裝(git已集成了git-svn)棱诱,這里在Windows7上安裝了Git-1.9.5-preview20150319.exe。
2.編寫Authors.txt
Authors.txt這個文件主要是用于將SVN用戶映射為Git用戶(昵稱及其郵箱)涝动。
具體格式:
zhangsan = ZhangSan <zhangsan@163.com>
wangwu = WangWu <wangwu@163.com>
3.Clone SVN項目至本地Git
在本地目錄創(chuàng)建一個文件目錄迈勋,用作Git本地庫的根目錄,然后將Authors.txt文件COPY至該目錄下醋粟,然后通過Git Bash來Clone SVN項目至本地Git靡菇,如下圖1所示:
Git Bash類似于CMD,如下圖2所示:
通過命令將remote svn項目clone至本地:
git svn clone svn://192.168.0.200/projects/app-service -t tags -b branches -T trunk -A authors.txt app-service
或者:
git svn clone svn://192.168.0.200/projects/app-service -s -A authors.txt app-service
這里如果svn項目是標準結(jié)構(gòu):trunk主干米愿、branches分支厦凤、tags標簽,則可以用“-s”來代替“-t tags -b branches -T trunk”育苟。
獲取SVN服務(wù)器的最新更新到本地Git庫(但一般不會用到該命令):
git svn rebase
4.將SVN tag轉(zhuǎn)成Git tag
通過以下命令可以查看所有的remote分支情況:
git branch -r
將對應的SVN tag轉(zhuǎn)成Git tag的命令:
git tag tagname tags/tagname
刪除remote分支命令:
git branch -r -d tags/tagname
5.將SVN branch轉(zhuǎn)成Git branch
將.git\refs\remotes\目錄相應分支文件COPY至.git\refs\heads
目錄下较鼓,就可以將SVN的分支轉(zhuǎn)成Git的本地分支。
通過以下命令可以查看所有的分支情況(包括remote和local):
git branch -a
通過以下命令可以查看所有的remote分支情況:
git branch -r
通過以下命令可以查看所有的local分支情況:
git branch -l
6.Push至Git公共庫
可以通過以下命令將本地Git項目Push至遠端Git公共庫:
git remote add origin https://git.oschina.net/zhangsan/app-service.git
推送本地所有branch至Git公共庫
git push -u origin --all
推送本地所有tag至Git公共庫
git push -u origin --a
這里origin是標記首次push宙搬。