一.前情提要

1.dzsw/cgd_xx项目,通过fork按钮在dzsw_dev组下面同步了一个项目

2.但是现在dzsw/cgd_xx项目因为没法提交合并请求,一点击请求就显示502。查看日志显示如下,搜索百度都是将timeout超时时间放大,但这里可能是因为没有从数据库查看对应信息出的错,不管多大都会卡主的,而且调大会导致服务器CPU和内存直线增高,用于数据库查询。

==> /var/log/gitlab/gitlab-workhorse/current <==
2020-07-24_05:41:13.93995 2020/07/24 13:41:13 error: GET "/dzsw/cgd_xx/merge_requests": badgateway: failed after 12s: EOF
2020-07-24_05:41:13.94333 47.94.250.239 @ - - [2020-07-24 13:41:01.518265528 +0800 CST] "GET /dzsw/cgd_xx/merge_requests HTTP/1.1" 502 2925 "http://1.1.1.1/dzsw/cgd_xx" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36" 12.424992 ==> /var/log/gitlab/nginx/gitlab_access.log <==
219.143.126.187 - - [24/Jul/2020:13:41:13 +0800] "GET /dzsw/cgd_xx/merge_requests HTTP/1.1" 502 2925 "http://1.1.1.1/dzsw/cgd_xx" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36"

3.本来想在数据库里删除相应项目的现存合并请求,这样应该不会查询出错了,但数据库结构复杂,关联比较多。后面想到其实可以更改fork的依赖关系,这个东西应该会在数据库存放的。

二.实际操作

1..先将dzsw/cgd_portal项目导出一份,项目-》设置-》常规-》倒数第二个导出。这里点击后不要频繁点,他会后台生成,过一会再刷新本页就在导出按钮旁边有个下载按钮了。

2.在组-》新建项目-》导入项目-》gitlab export-》导入文件即可。如果导入出错,可以尝试用fork到别的组,切断依赖关系后,将原来的备份,用新的fork回原来的。

setting-》Advanced settings-》Remove fork relationship

3.检查新项目是否和老的一样,比如分支,代码等等,确保没问题后,将原项目备份成别的名字,记得更改设置里的项目地址,然后将复制出来的给改成对应名字cgd_portal,做一个调换。设置-》常规-》高级设置-》最后一个选项里配置仓库地址,改名字的都要换地址。

4.登陆到gitlab所在机器,在数据库里执行如下,这个命令是psql数据库的非交互命令,sql语句就是查询项目表,查看他的id号。可能同名的项目有好几个(不同群组),这时候可以看看其它例如创建时间等信息,确定是你那个项目,记住id号。

gitlab-psql gitlabhq_production --expanded -c "select * from projects where name='cgd_portal' ;"

5.有主项目的id了,用如下语句来获得他fork出去那个项目的表数据,我这里主项目的id是1,复制出去的是3。

gitlab-psql gitlabhq_production --expanded -c "select * from forked_project_links where forked_from_project_id='1' ;"

6.更新表数据,将forked_from_project_id也就是他的主人换成你新建项目的id即可,sql的条件是id为1。再次查看主人换成4了

gitlab-psql gitlabhq_production --expanded -c "update forked_project_links set forked_from_project_id=4 where id='1';"

7.在从项目上,发起合并请求试试,看选项是否有多个了

Gitlab更改项目间的fork提交关系的更多相关文章

  1. 移动网络游戏实现流程——并借此阐明pomelo在GitHub上各个项目间的关系

    <!DOCTYPE html> 摘要:本文通过一个简易流程图介绍如何基于Cocos2d-x引擎和pomelo服务器框架开发一个移动网络游戏.并借此阐明pomelo提供的各个项目间的关系. ...

  2. 《Entity Framework 6 Recipes》中文翻译系列 (10) -----第二章 实体数据建模基础之两实体间Is-a和Has-a关系建模、嵌入值映射

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 2-11 两实体间Is-a和Has-a关系建模 问题 你有两张有Is-a和Has-a ...

  3. Entity Framework 实体间的外键关系

    EF 默认是开户级联删除的,这此规则将会删除非空外键和多对多的关系,如果 在数据库上下文中的实体模型类 存在着 级联引用和多重删除路径,那么EF就抛出 级联引用和多重删除路径的异常. Introduc ...

  4. Gitlab+Jenkins用钩子实现git提交后jenkins自动化构建

    Gitlab+Jenkins用钩子实现git提交后jenkins自动化构建 一.Jenkins 进入项目---->Configure 1.设置项目代码从git中拉取 2.设置钩子程序 二.git ...

  5. 3.2 Dependencies of the Projects in the Solution 解决方案中项目间的依赖项

    3.2 Dependencies of the Projects in the Solution 解决方案中项目间的依赖项 The diagram below shows the essential ...

  6. 5、项目间的沟通协调 - PMO项目管理办公室

    沟通是人类所具备的优良而有一定技巧的一种方式.但是,沟通也是PMO项目管理办公室中所有项目组必须建立起来的能力,也是PMO项目管理办公室日常所需要进行的一项工作内容. 一.项目间的沟通: PMO项目管 ...

  7. Mac下github项目检出与提交

    项目检出 如果你的git还没有代码仓库,可以用过git的代码仓库页面新建一个你的仓库 创建git上的仓库后,我们还需要建立本地的仓库,所以打开Mac终端,建立本地仓库文件夹(这里我用HelloC),然 ...

  8. VS2010中更改项目名称(转载)

    一.修改解决方案的名称:直接选择解决方案,右键重命名即可.

  9. C#项目间循环引用的解决办法,有图有真相

    C#项目间循环引用的解决办法,有图有真相 程序间的互相调用接口,c#禁止互相引用,海宏软件,20160315 /// c#禁止互相引用,如果项目[订单]中有一个orderEdit单元,要在项目[进销存 ...

随机推荐

  1. Python 练习 进程

    ... """ 创建2个进程, 每一个进程都打出当前的时间和进程的标识,持续打十次. """ import multiprocessing ...

  2. 关于如何在MyEclipse下修改项目名包名,以及类

    1.修改项目名,右键选择properties->web->web-Context-root修改名称或者直接按F2修改.2,修改包名,右键选择Refactor->rename修改名称即 ...

  3. Json数据使用及学习方法

    以前对json的了解并不是很清楚,因为使用很少,所以也没有特意的研究.只知道json是轻量级的数据交换格式,可以被多种语言方便的处理,也是大型门户站接口使用的主要数据格式. 而最近做了个项目,涉及到j ...

  4. [bzoj1042]硬币购物

    先预处理出没有上限的方案数,然后容斥,然后将所有东西的范围都变为[0,+oo),即可用预处理出的dp数组计算 1 #include<bits/stdc++.h> 2 using names ...

  5. 第03章_基本的SELECT语句

    第03章_基本的SELECT语句 1. SQL概述 1.1 SQL背景知识 1946 年,世界上第一台电脑诞生,如今,借由这台电脑发展起来的互联网已经自成江湖.在这几十年里,无数的技术.产业在这片江湖 ...

  6. 多线程01.newThread的方式创建线程

    1.java应用程序的main函数是一个线程,是被jvm启动的时候调用,线程的名字叫main 2.实现一个线程,必须创建一个thread实例,override run方法,并且调用start方法. 3 ...

  7. 解决 IDEA 2021.2.3 新建maven项目只有两个archetype项目模板的问题

    最近把我的 IDEA 版本更新到 2021.2.3 了,发生了一个比较有意思的问题,做个小小的记录 思路分析 在新的 IDEA 中配置完Maven之后,想要创建Maven项目的时候没有自动加载arch ...

  8. 洛谷 P4707 - 重返现世(扩展 Min-Max 容斥+背包)

    题面传送门 首先看到这种求形如 \(E(\max(T))\) 的期望题,可以套路地想到 Min-Max 容斥 \(\max(S)=\sum\limits_{T\subseteq S}(-1)^{|T| ...

  9. 问题记录:SNP 标记 phasing

    GATK4 检测的SNP标记,有些位点会在检测过程中完成 phasing,在后续做基因型填充的时候有坑. GATK4 phasing 结果的缺失位点不是 ./. 也不是 .|.  而是直接变成一个单独 ...

  10. a.out的由来

    用过linux的都知道,在linux下编译链接程序,如果不加-o参数,生成的binary代码的名字都是默认的a.out.一不小心,a.out还会覆盖上次其他code生成的binary代码. a.out ...