Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Git操作SVN教程 #15

Open
ghost opened this issue Apr 8, 2019 · 0 comments
Open

Git操作SVN教程 #15

ghost opened this issue Apr 8, 2019 · 0 comments

Comments

@ghost
Copy link

ghost commented Apr 8, 2019

Git操作SVN教程

建立svn与git的映射,方便git用户用git方式向svn进行提交。

本教程主要针对本公司的现有SVN仓库,因为现有仓库均是非标准svn仓库结构,所以需要手动做一些配置,具体差别请自行查看subgit官网。

关于subgit工具

这里不详细介绍,就是一个svn与git相互转化的工具,下载subgit包即可,然后添加至环境变量。

1.建立仓库链接

该过程主要是利用subgit建立一个空的git仓库,并且与svn建立起一个连接。

在一个空目录运行如下命令:

subgit configure --svn-url https://192.168.100.222/wta-smc/KDMC/trunk/Program/SourceCode_KMC com.kmc-vue.git

其中的svn-url为项目的仓库地址,该地址为标准svn仓库结构的根路径。这里因为不是标准仓库,因此地址写到了仓库的上一级目录。

com.kmc-vue.git为在本地生成的git仓库的名字,以.git结尾。会在当前目录下生成一个com.kmc-vue.git的文件夹。

执行完毕会有如下提示:

8

修改配置文件

修改com.kmc-vue.git/subgit/config,主要修改有几处:

...
defaultDomain = wst.cetc30.com //原来为localhost
...
trunk = kmc-vue:refs/heads/master //原来为trunk:refs/heads/master
...
useDefaultSubversionConfigurationDirectory = true //原来为false
...

其中比较重要的修改时trunk的映射,因为这里不是标准的svn仓库结构,这里没有trunk分支,所以我们只能把项目目录当trunk分支。

增加authors配置

com.kmc-vue.git/subgit/authors.txt文件中添加成员映射,主要是把svn的提交记录的账号名称映射到git。

形式如下:

jiaxuelin = jiaxuelin <jia.xuelin@wst.cetc30.com>
liaochuntian = liaochuntian <liao.chuntian05038@wst.cetc30.com>
yezhenyan = yezhenyan <ye.zhenyan@wst.cetc30.com>

这样会把svn的提交记录完整的映射到Git。

authors.txt文件已经做好,可以直接复制,也可以自由修改。

添加一个hooks

在com.kmc-vue.git/hooks文件夹下增加如下脚本:

// pre-receive-change.bat
@echo off
exit 0

开始拷贝代码

执行如下命令,将svn代码拷贝到刚建立的空的git仓库。

subgit install com.kmc-vue.git

该过程会去download代码和提交记录。

从该仓库clone代码

上面初始化完成的是一个bare仓库,实际做开发时需要从bare仓库clone一下再做开发。了解git的同学你知道我说的什么意思。

在sourcetree克隆仓库:

9

ok,你现在可以使用git操作svn仓库了。

激活subgit

拷贝subgit.key文件至com.kmc-vue.git\subgit目录,执行注册命令。

常用命令

  1. 停止后台运行
subgit shutdown com.kmc-vue.git
  1. 完整移除,包括已同步的logs、branches等。
subgit uninstall com.kmc-vue.git
  1. 注册
subgit register com.kmc-vue.git

这里没有介绍太多的subgit的东西,写这个文档主要是防止忘记步骤,然后给大家提供一个思路。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

0 participants