迁移SVN项目至GIT

第一步:

在当前目录下新建users.txt

以 svnName = gitUserName 的格式一一填写svn用户与git用户的对应关系

第二步:

git svn clone --stdlayout --no-metadata -A users.txthttp://svn.domain.com.au/svn/repository/favourite-project favourite-project

等待git将svn项目转换成远程git仓库,自动生成favourite-project文件夹

第三步:

cd favourite-project 切换至项目目录

与远程.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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180709G1CLXT00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券