• SVN迁移到Gitlab实践经历


    svn 迁移至git操作手册

    项目交付、版本管理工具变更等情况下,迁移svn旧历史记录有很大必要,方便后续追踪文件的提交历史,文件修改记录比对等。git自带了从svn迁移至git的工具命令,可很好的对svn上的提交历史做迁移和映射,操作简单方便。但是初次接触不熟练,这里做一个总结和记录,内容尽量简单化。争取提供给刚刚接触git和准备迁移的用户一个简单易懂的方案。

    旧svn服务器:192.168.1.185(对生产的敬畏)

    新svn+git服务器:192.168.1.203

    我是把旧的svn通过dump下来传到203的svn上面这需要点时间,这个原理跟mysql的dump一样

    把SVN上的代码仓库迁移到Gitlab上,实际上就是把SVN仓库转变成Git仓库,并且希望能保留原SVN仓库的Commit等历史记录,这一点很重要。
    SVN迁移到Gitlab需要安装git-svn

    yum install -y git-svn

     建立users.txt(存储svn账号与gitlab上账号的关联性)

    svn log svn://192.168.1.203 -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2">"}' | sort -u > ./users.txt

    得到的结果:

     然后开始把SVN仓库转变成Git仓库,执行以下命令:

    git svn clone svn://192.168.1.203/XinglvTmc/ --no-metadata --authors-file=users.txt --trunk=trunk --tags=tags --branches=branch XinglvTmc

    添加GitLab到Git源信息

    git remote add origin URL

    注:目的地gitlab仓库地址

    5. 将trunk, branches等上传

    git push origin --all

    为了将标签变为合适的 Git 标签,运行

    # cd  my_project
    # cp -Rf .git/refs/remotes/origin/tags/* .git/refs/tags/
    # rm -Rf .git/refs/remotes/origin/tags

    这会使原来在 remotes/origin/tags/ 里的远程分支引用变成真正的(轻量)标签。

    接下来,将 refs/remotes 下剩余的引用移动为本地分支:

    # cp -Rf .git/refs/remotes/* .git/refs/heads/
    # rm -Rf .git/refs/remotes
     
    现在所有的旧分支都是真正的 Git 分支,并且所有的旧标签都是真正的 Git 标签。 最后一件要做的事情是,将你的新 Git 服务器添加为远程仓库并推送到上面。
    下面是一个将你的服务器添加为远程仓库的例子:
     git remote add origin http://192.168.1.203/root/xinglvtmc.git/

    git fatal: 远程 origin 已经存在。

    不小心将git远程地址配错了,再次配置提示以下错误:

    fatal: 远程 origin 已经存在。

    此时只需要将远程配置删除,重新添加即可;

    git remote rm origin

    git remote add origin https://github.com/***/WebCrawlers.git

    再次提交文件即可正常使用

    粗心造成的小错误,顺便说一下,如果git没有commit就执行push操作会出现以下错误

    fatal: unable to access 'https://github.com/***/WebCrawlers.git/': Empty reply from server

    解决:只需要先commit 在 push即可

    gitlab删除已上传项目中的文件夹

  • 相关阅读:
    elasticsearch之聚合函数
    elasticsearch之高亮查询
    elasticsearch之查询结果过滤
    elasticsearch之布尔查询
    elasticsearch之分页查询
    elasticsearch 之 排序查询
    elasticsearch 查询 term和match
    WSGI uwsgi wsgiref uWSGI werkzeug
    Django Contenttype组件
    迭代器
  • 原文地址:https://www.cnblogs.com/fuyuteng/p/11807272.html
Copyright © 2020-2023  润新知