版本管理工具切换 | svn切换到gitlab | gitblit 迁移到 gitlab

发布于:2024-11-03 ⋅ 阅读:(44) ⋅ 点赞:(0)

1.在能够访问SVN服务的电脑上安装 Git-2.47.0-64-bit.exe(下载地址: https://github.com/git-for-windows/git/releases/download/v2.47.0.windows.1/Git-2.47.0-64-bit.exe  如果已安装其它版本可以忽略,但是版本必须大于Git 1.6.0)

2.svn检出需要上传的svn项目到目录 svnproject

3.在检出的SVN项目目录  svnproject 下(带有.svn 文件夹),执行:
svn log --xml | grep "^<author" | sort -u | awk -F '<author>' '{print $2}' | awk -F '</author>' '{print $1}' > user.txt

编辑user.txt,我们获取到的信息,只有一列。这一列就是svn目前所有的用户,user.txt格式如下(格式:   svn账户名 = gitlab账户名  <公司个人真实邮箱>)  ,注意邮箱两边的大于小于号与邮箱之间没有空格:

hechengtai_svn = hechengtai <hechengtai@example.com>

4.新建一个空文件夹。例如:svn_git

5.进入新建的文件夹 svn_git,鼠标右键:Open Git Bash here,执行:
#git svn clone svn项目路径  mycode
#git svn clone svn项目路径  --authors-file=user.txt

#上面操作会产生两份项目文件,应合并执行
git svn clone svn项目路径  --authors-file=绝对路径/user.txt 绝对路径/svn_git/mycode
示例:git svn clone https://172.26.110.131:7443/svn/IBPS_FCITDP  --authors-file=/d/workSpace/qydt/temp20241025/user.txt /d/workSpace/qydt/svn_git/mycode
#报错后,可以使用 git svn fetch 继续下载
6.将svn_git文件夹内容拷贝到 任意云桌面 环境中(如:svn环境与云桌面环境能够连通,忽略此步骤)

7.在云桌面环境安装 Git-2.47.0-64-bit.exe(如:svn环境与云桌面环境能够连通,忽略此步骤)


8.鼠标右键:Open Git Bash here,配置git信息
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

git config --global http.sslVerify false


9.配置云桌面电脑的DNS为:10.1.3.59


10.登录GitLab
代码仓库访问地址:https://www.gitlab.icfcc.com
在Projects菜单下新建项目  例如:myproject,复制项目的地址以备下一步使用


11.进入我们从svn下载的代码文件夹,进行代码上传到GitLab   
 
cd svn_git/mycode
git remote add origin https://gitlab.icfcc.com/xxxxx/myproject.git
git branch -m master main
#需要先拉取代码
git pull origin main --allow-unrelated-histories 
git push origin main


12.登录GitLab,这时候可以看到带提交记录的代码工程


-- gitblit 迁移到 gitlab
# 1. 克隆Gitblit仓库
git clone https://gitblit.example.com/repo/my-repo.git
 
# 2. 进入仓库目录
cd my-repo
 
# 3. 添加GitLab仓库作为远程仓库
git remote add gitlab https://gitlab.example.com/username或者群组路径/my-repo.git
 
# 4. 推送代码到GitLab
git push gitlab --all  # 推送所有分支
git push gitlab --tags # 推送所有标签


#test是群组名,one是子群组名  eaas在gitlab不存在,执行命令后自动创建
git remote add gitlab http://192.168.235.128:8050/test/one/eaas.git
#root是用户名,可以直接将项目传到该用户下
git remote add gitlab http://192.168.235.128:8050/root/eaas.git


网站公告

今日签到

点亮在社区的每一天
去签到