Gitlab更改项目间的fork提交关系
一.前情提要
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提交关系的更多相关文章
- 移动网络游戏实现流程——并借此阐明pomelo在GitHub上各个项目间的关系
<!DOCTYPE html> 摘要:本文通过一个简易流程图介绍如何基于Cocos2d-x引擎和pomelo服务器框架开发一个移动网络游戏.并借此阐明pomelo提供的各个项目间的关系. ...
- 《Entity Framework 6 Recipes》中文翻译系列 (10) -----第二章 实体数据建模基础之两实体间Is-a和Has-a关系建模、嵌入值映射
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 2-11 两实体间Is-a和Has-a关系建模 问题 你有两张有Is-a和Has-a ...
- Entity Framework 实体间的外键关系
EF 默认是开户级联删除的,这此规则将会删除非空外键和多对多的关系,如果 在数据库上下文中的实体模型类 存在着 级联引用和多重删除路径,那么EF就抛出 级联引用和多重删除路径的异常. Introduc ...
- Gitlab+Jenkins用钩子实现git提交后jenkins自动化构建
Gitlab+Jenkins用钩子实现git提交后jenkins自动化构建 一.Jenkins 进入项目---->Configure 1.设置项目代码从git中拉取 2.设置钩子程序 二.git ...
- 3.2 Dependencies of the Projects in the Solution 解决方案中项目间的依赖项
3.2 Dependencies of the Projects in the Solution 解决方案中项目间的依赖项 The diagram below shows the essential ...
- 5、项目间的沟通协调 - PMO项目管理办公室
沟通是人类所具备的优良而有一定技巧的一种方式.但是,沟通也是PMO项目管理办公室中所有项目组必须建立起来的能力,也是PMO项目管理办公室日常所需要进行的一项工作内容. 一.项目间的沟通: PMO项目管 ...
- Mac下github项目检出与提交
项目检出 如果你的git还没有代码仓库,可以用过git的代码仓库页面新建一个你的仓库 创建git上的仓库后,我们还需要建立本地的仓库,所以打开Mac终端,建立本地仓库文件夹(这里我用HelloC),然 ...
- VS2010中更改项目名称(转载)
一.修改解决方案的名称:直接选择解决方案,右键重命名即可.
- C#项目间循环引用的解决办法,有图有真相
C#项目间循环引用的解决办法,有图有真相 程序间的互相调用接口,c#禁止互相引用,海宏软件,20160315 /// c#禁止互相引用,如果项目[订单]中有一个orderEdit单元,要在项目[进销存 ...
随机推荐
- 微信小程序(二)
创建项目: hello.wxml hello world 每个学习的开始 <view>hello world!</view> hello.js 像 app.js 一样 Page ...
- SpringCloud升级之路2020.0.x版-36. 验证断路器正确性
本系列代码地址:https://github.com/JoJoTec/spring-cloud-parent 上一节我们通过单元测试验证了线程隔离的正确性,这一节我们来验证我们断路器的正确性,主要包括 ...
- logstash插件配置-codec插件说明json和multiline
编码插件(Codec) Codec 是 logstash 从 1.3.0 版开始新引入的概念(Codec 来自 Coder/decoder 两个单词的首字母缩写). 在此之前,logstash 只支持 ...
- [cf1528F]AmShZ Farm
考虑$a_{i}$是"more-equal"的组合意义,有以下构造-- 有$n$个位置,每一次选择一个位置$a_{i}$,在$a_{i}$之后(包括$a_{i}$)的第一个空位上停 ...
- [atARC080F]Prime Flip
构造一个数组$b_{i}$(初始为0),对于操作$[l_{i},r_{i}]$,令$b_{l_{i}}$和$b_{r_{i}+1}$值异或1,表示$i$和$i-1$的差值发生改变,最终即要求若干个$b ...
- 解决mac电脑耳机/外放突然无声音
问题现象 mac电脑基本不会关机,近期发送隔一段时间出现网易云音乐可以播放但是耳机.外放均无声音的问题.此时,电脑本身的声音提示.远程会议声音均正常. 解决方法 网上搜了一圈解决方案,最后发现是输出设 ...
- 【基因组预测】braker2基因结构注释要点记录
目录 流程使用 问题 记录下braker2的使用要点,以备忘记. 流程使用 braker2有很多流程,根据你的数据:组装的基因组.转录组.蛋白(同源,包括近缘或远缘)选择不同流程,官网有说明: htt ...
- go变量、类的概念以及类的使用方式,嵌套结构体
go变量.类的概念以及类的使用方式,嵌套结构体 Go变量 go使用var声明变量,当声明变量时,这个变量对应的值总是会被初始化.这个值要么用指定的值初始化,要么用零值(即变 量类型的默认值)做初始化. ...
- docker_清华源国内的选择
清华大学开源镜像官网:https://mirrors.tuna.tsinghua.edu.cn/ 前期: 在centos7 中的extras 源里面有docker 安装包,但是里面的安装包是比较旧的 ...
- 64-Unique Binary Search Trees
96. Unique Binary Search Trees My Submissions Question Editorial Solution Total Accepted: 82788 Tota ...