迁移SVN项目至GIT
Posted 晋建
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了迁移SVN项目至GIT相关的知识,希望对你有一定的参考价值。
第一步:
在当前目录下新建users.txt
第二步:
git svn clone --stdlayout --no-metadata -A users.txt http://svn.domain.com.au/svn/repository/favourite-project favourite-project
等待git将svn项目转换成远程git仓库,自动生成favourite-project文件夹
第三步:
cd favourite-project 切换至项目目录
git remote add origin gitAccount@git.domain.com.au:dev-team/favourite-project.git
与远程.git建立关联,origin为远程主机名
第四步:
git push --set-upstream origin master
将本地项目仓库推送至master, origin为远程主机名,master为分支名
持续更新及Tag支持:
git svn clone将svn项目主目录及分支转换成远程git仓库如下形式:
remotes/origin/master (git 远程分支master)
remotes/origin/trunk (svn主目录)
remotes/origin/uat-2876 (svn分支)
remotes/origin/tag1 (svn的tag被转成分支)
即git将svn项目的主目录、分支分别转换城了git远程分支,后续仍然可以从SVN更新local git项目
转换完成后继续从SVN更新代码同步至git:
git checkout master
git rebase remotes/origin/trunk (继续从SVN主目录更新代码至local)
git push origin master:master
将SVN分支同步至远程git:
git checkout -b uat-2876 remotes/origin/uat-2876
git push origin uat-2876:uat-2876
将SVN tag同步至远程git:
git checkout -b tag1 remotes/origin/tag1 (创建分支)
git tag tag1 tag1 (创建tag)
git branch -D tag1 (删除分支)
git push origin --tags (推送tag到远程git)
git tag (查看所有tag)
其他命令:
git log --pretty=oneline
Existing folder>
cd existing folder
git init
git remote add origin http://git.xx.xx.com.cn/group/project.git
git add .
git commit -m "Initial commit"
git push -u origin master
Create a new repository>
git clone http://git.xx.xx.com.cn/group/project.git
cd project
touch README.md
git README.md
git commit -m "add README"
git push -u origin master
这样就完成啦~( •̀ ω •́ )y
以上是关于迁移SVN项目至GIT的主要内容,如果未能解决你的问题,请参考以下文章