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 <[email protected]>
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 "[email protected]"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