Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >『 利器篇 』GitLab仓库的迁移

『 利器篇 』GitLab仓库的迁移

作者头像
程序手艺人
发布于 2020-01-13 08:56:40
发布于 2020-01-13 08:56:40
2.9K00
代码可运行
举报
文章被收录于专栏:程序手艺人程序手艺人
运行总次数:0
代码可运行

平时需要做Git仓库的迁移, 主要由两种方案实现 :

  1. 通过git clone --mirror方式
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 克隆旧项目的镜像
git clone --mirror old.git (old.git 为旧项目的git地址) 会clone 仓库下的所有分支
//进入项目目录
cd old.git
//老项目的地址替换成新项目
git remote set-url --push origin new.git (new.git 为新项目的git地址)
//将镜像推到远程
git push origin master 
  1. 通过移除old仓库的链接
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd existing_repo
git remote rename origin old-origin
git remote add origin ssh://git@gitlab.xxx.com:xxx/xxx/1.git
git push -u origin --all
git push -u origin --tags
  1. 通过特定的需求写的小工具
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//old项目的仓库备份到新项目
dir_name="$PWD"
all=`find  ${dir_name} -name "*.git"` # 查找所有.git仓库
for i in $all
do
    if [ -d $i ]
    then
        cd $i/
        tmp=${i##*/}
        echo "#### tmp : $tmp"
        git push --mirror ssh://git@gitlab.xxxx/demp/$tmp
        # git push --mirror git@your_ip:git/$i
        cd -
    fi
done
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//本地迁移特定分支的仓库
BASE_PATH="/tmp"
dir_name="$PWD"
echo "#### dir_name $dir_name"
all=`cat repotmp` //repotmp 存放的需要迁移仓库的路径
for i in $all
do
    echo "$i"
    mkdir -p $i
    cd $i 
    git clone $BASE_PATH$i  // 本地直接克隆
    git checkout -b master
    cd -
done 
GitLab API的方式建立仓库

按照官方提供的API方式创建仓库GitLab API Docs

其中PRIVATE-TOKEN需要User Settings->Access Tokens获取

namespace_id对应的是项目组中的zGroup id

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 建立仓库
info="name=$project&path=$project&wiki_enabled=no&public_jobs=true&public=true&namespace_id=135&default_branch=master&private_token=xxxxxx"
 curl -d $info "http://gitlab.xxxxxx/api/v4/projects"
  • 特定需求写的小工具
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//GitLab上新建avs_client和firmware仓库
projects="fip \
avs_client \
firmware "
for project in $projects
do
	info="name=$project&path=$project&wiki_enabled=no&public_jobs=true&public=true&namespace_id=135&default_branch=master&private_token=xxxxx"
    curl -d $info "http://gitlab.xxxx.com:xxx/api/v4/projects"
done
参考
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/01/08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Git - 记一次完整的新旧Gitlab迁移
执行 git config --global http.sslverify false
小小工匠
2023/04/17
3K0
Git - 记一次完整的新旧Gitlab迁移
gitlab和gitlab项目迁移
由于版本跨度比较大,不能直接将原gitlab项目备份导出,然后在新gitlab中导入。
py3study
2020/08/19
1.6K0
[原创]CI持续集成系统环境--Gitlab+Gerrit+Jenkins完整对接
近年来,由于开源项目、社区的活跃热度大增,进而引来持续集成(CI)系统的诞生,也越发的听到更多的人在说协同开发、敏捷开发、迭代开发、持续集成和单元测试这些拉风的术语。然而,大都是仅仅听到在说而已,国内也很少有公司能有完整的 CI 体系流程。反之一些开源项目都有完整的 CI体系,比如openstack。 为了实现代码托管->代码审核->代码发布的一套自动化流程,我特意在IDC服务器上部署了Gitlab+Gerrit+Jenkins对接环境,以下记录了操作过程: ------------------------
洗尽了浮华
2018/01/22
4.6K0
[原创]CI持续集成系统环境--Gitlab+Gerrit+Jenkins完整对接
github仓库迁移到gitlab以及gitlab仓库迁移到另一个gitlab服务器
进入后,这里需要github的 personal access token, 点击下图跳到github的token页面获取token:
smy
2019/06/11
5.4K0
github仓库迁移到gitlab以及gitlab仓库迁移到另一个gitlab服务器
部署GitLab代码托管仓库
GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,GitLab是使用Ryby开发的一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目.它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释.可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库.团队成员可以利用内置的简单聊天程序(Wall)进行交流.它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找,本博文内容将介绍Git,GitLab,的区别以及SVN与GitLab的差异,然后就是通过Yum包快速的搭建一个GitLab环境.
王 瑞
2022/12/28
2.1K0
Jenkins+Ansible+GitLab持续交付平台搭建-第2篇
https://gitlab.example.com/root/xj_aml.git
Criss@陈磊
2019/10/22
1.1K0
Jenkins+Ansible+GitLab持续交付平台搭建-第2篇
GitLab 冷知识:在 Gitlab CI Pipeline 中进行 Git Push 操作 🦊
在日常工作中,经常会遇到这样一种场景:需要在 GItLab CI Job 中进行 Git Push 操作,将修改或构建好的代码推送到远端 Git 代码仓库当中。这是一个十分常见操作,本篇文章将会提供一个最简单且实用的方法来实现这个场景,希望对您有所帮助。
郭旭东
2022/12/05
5.8K0
GitLab 冷知识:在 Gitlab CI Pipeline 中进行 Git Push 操作 🦊
Gitlab CI 集成 Kubernetes
首先将本节所用到的代码库从 Github 上获得:cnych/gitlab-ci-k8s-demo,可以在 Gitlab 上新建一个项目导入该仓库,当然也可以新建一个空白的仓库,然后将 Github 上面的项目 Clone 到本地后,更改远程仓库地址即可:
jwangkun
2021/12/23
1.7K0
Gitlab CI 集成 Kubernetes
Gitlab 实现仓库完全迁移,包括所有提交记录、分支、标签
但这只针对 public 的项目,若你是私有项目,还不行,差一步得填写原 gitlab 账号密码。
JavaEdge
2024/05/26
1.9K0
Gitlab 实现仓库完全迁移,包括所有提交记录、分支、标签
Gitlab CI/CD 实践六:统一管理 protocol buffer,API 大仓设计与实现
目前公司采用 protocol buffer 作为 IDL,虽然可以根据 API 定义,轻松生成客户端和服务端的代码。但是对于跨项目的接口,会增加项目之间的耦合性。例如A服务对外提供了一个接口,B服务去调用。那么就需要根据A服务的proto文件,生成客户端代码,并拷贝给B。如果联调期间,A服务改动了该接口,还需重复前面的步骤,非常繁琐。
Yuyy
2022/09/08
1.8K0
Gitlab安装部署及基础操作
环境说明 系统版本 CentOS 7.2 x86_64(较新版本的gitlab集成了更多功能,顺利运行起来的硬件要求较高,这里给了3G内存) 软件版本 gitlab-ce-10.8.4
仙人技术
2020/04/29
6.3K0
持续集成之Gitlab安装与应用
Gitlab 是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的 Git 项目仓库,可通过Web 界面进行访问公开的或者私人的项目 Gitlab 拥有与 Github 类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,他非常易于浏览提交过的版本并提供一个文件历史库。他还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找
小手冰凉
2020/03/18
6770
持续集成之Gitlab安装与应用
gitlab操作指南
概述 GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。 安装 依赖组件:ruby 1.9.3+,MySQL,git,redis, Side
xiangzhihong
2018/02/06
1.8K0
gitlab操作指南
Git仓库迁移实操(附批量迁移脚本)
最近公司组织架构调整,整个组换到新部门,需要将原来组内的项目代码,全部迁移到新的 group 中去(公司用的 gitlab 服务器),要求保留所有的提交记录、分支和标签。
逻魔代码
2023/03/17
1.6K0
Git仓库迁移实操(附批量迁移脚本)
Gitlab CI/CD 实践八:同步文件到其他 Git 仓库
项目里存放了部署到测试环境的k8s资源定义文件,这部分文件需要提交到一个资源定义文件集中仓库,给运维部署到生产环境用。但这部分文件可能会改动,例如存放的项目配置文件就是以configmap的形式在k8s中使用,如果更改项目配置,就需要同步提交到集中仓库。
Yuyy
2022/10/04
1.4K0
基于Docker配置本地Gitlab
Github和Gitee(码云)是最常见的基于git的代码托管平台,现在基于svn的代码管理仓库已经相对比较少见了,大部分还都是企业内部的代码仓。但是基于开源的Gitlab,我们在企业内网也可以立马搭建一个代码托管平台,并且自带集成有各种代码自动化测试工具,实现持续集成和持续测试。
DechinPhy
2021/05/21
1.2K0
三行代码实现新老git仓库完整迁移
公司因老版本gitlib存在安全隐患且机房需要迁移,需要切换到新版本的gitlib上
西门呀在吹雪
2022/06/06
3.3K2
三行代码实现新老git仓库完整迁移
gitlab使用
关于注册,有些公司是不允许打开的,,有些人数非常多的公司就需要打开注册的功能,让人员自己注册,我们来给他特定的权限就可以,毕竟人非常多的时候还由我们来给她们注册就非常不现实了,工作量会很大
星哥玩云
2022/09/15
7670
gitlab使用
Centos 7搭建Gitlab服务器超详细Centos 7搭建Gitlab服务器超详细(搭建成功)
一、 安装并配置必要的依赖关系 在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知) ,wget,以下这些命令也会打开系统防火墙中的HTTP和SSH端口访问。
平繁
2020/08/25
6.7K0
使用git命令方式将本地工程上传到Gitlab或Github
1.首先需要安装本地需要安装git,Mac用自带命令工具就行。 2.在gitlab上创建项目, 如下图, 点击右上角加号到项目创建页面, 填写项目名称, 选择项目访问权限, private为授权的组员
rectinajh
2018/05/17
3K0
推荐阅读
相关推荐
Git - 记一次完整的新旧Gitlab迁移
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验