Git迁移步骤:
步骤一:准备工作
- 本地安装Git,下载地址:https://git-scm.com/downloads,安装即可
- 我们的Gitlab地址:http://*********,没有账号的自行注册
- 找到C:\Users\用户名\.ssh文件夹,复制其中id_rsa.pub,粘贴到Rrofile Settings->SSH Keys的Key中,Title随便填写
- 本地磁盘任意位置建立空文件夹,作为Git本地仓库
步骤二:SVN迁移到Gitlab
- 进入到需要迁移项目SVN地址,查看提交记录,即show log中对应的Author,本地建立.txt文件,编辑文件格式如下:
-
- zhangsan = zhang<11111111@qq.com>
- lisi = li<22222222@qq.com>
- ....
- wangwu = wang<33333333@qq.com>
第一个参数zhangsan是SVN对应Author的名字,第二个参数zhang是zhangsan对应Gitlab的名字,<此用户Gitlab邮箱>
SVN提交log中有几名不同的Author,这里对应需要有几条记录,
缺少的话会出现迁移失败,重
复的无需添加,
- 打开Git安装目录下的git-bash.exe,切换到Git本地仓库路径下,执行下面命令完成Git初始化
-
- git config --global user.name "用户名" 与gitlab相同
- git config --global user.name "邮箱" 与gitlab相同
- 在Git本地仓库目录下建立需要迁移项目同名的空文件夹(同名为了方便识别)
git-bash命令行中执行执行:git svn clone yoursvnaddress --authors-file=D:\\users.txt D:\\Test\\KEntity第一处参数是svn地址,需要换成需要迁移的项目地址,
第二个参数是上文建立的.txt文件路径,
第三个参数为上文建立的Git本地仓库下新建的需要迁移项目同名的空文件的路径,
- 项目成功down到本地,在远程仓库中建立相同名称的项目(private权限),成功后复制项目ssh地址,例如:yourgitlabaddress
git-bash中执行git remote add origin
yourgitlabaddress,把本地库与远程仓库关联
git-bash中执行git push -u origin master
步骤三:
Gitlab权限管理
- 通过Gitlab上点击项目的Members可控制权限,通过Add new user to filename
公包含四种权限:Guest Reporter Developer Master权限由小到大
Guest(暂时无用)
Reporter可以提供给测试人员 ,可以下载,不能提交
Developer可以下载和提交项目,但是只能提交到非保护的分支(master主干分支是受保护的),再
由root权限或者Master进行合并(建议分配给一般开发者使用)
Master既可以下载也可以进行提交,对受保护的分支合并(建议分配给确定的一到两个人)