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单元,要在项目[进销存 ...
随机推荐
- 体验.NET Core使用IKVM对接Java
前言 与第三方对接最麻烦的是语言不同,因语言不同内置实现相关标准加密算法还是略微有所差异,对接单点登录场景再寻常不过,由于时间紧迫且对接方使用Java,所以留给我对接开发和联调的时间本就不多,于是乎, ...
- 中文NER的那些事儿5. Transformer相对位置编码&TENER代码实现
这一章我们主要关注transformer在序列标注任务上的应用,作为2017年后最热的模型结构之一,在序列标注任务上原生transformer的表现并不尽如人意,效果比bilstm还要差不少,这背后有 ...
- 一文了解Docker基本概念
一.何为Docker Docker 是一个用于开发.交付和运行应用程序的开放平台,Docker 使您能够将应用程序与基础环境分开,以便您可以快速交付软件.借用百度百科的话来说,Docker 是一个开源 ...
- [uoj76]懒癌
为了方便,称患有懒癌的狗为"坏狗" 记$Q_{i}$为第$i$个人能观察的狗集合,$S$为坏狗集合,那么第$k$天第$i$个人能得到的信息有且仅有$S\ne \empty$.$S\ ...
- [loj3179]视觉程序
暴力做法:1.对每一行/列求$or$:2.枚举行的差值$i$,并对任意相差为$i$的行和相差为$k-i$的列求$and$,对行/列的$and$结果求$or$,对行和列的$or$求$and$,对所有$i ...
- [nowcoder5669J]Jumping on the Graph
考虑枚举$k$并求出$f(k)=\sum_{i=1}^{n}\limits\sum_{j=i+1}^{n}\limits [D(i,j)\le k]$,那么答案就是$\sum_{i=1}^{1e9}( ...
- Aggregated APIServer 构建云原生应用最佳实践
作者 张鹏,腾讯云容器产品工程师,拥有多年云原生项目开发落地经验.目前主要负责腾讯云 TKE 云原生 AI 产品的开发工作. 谢远东,腾讯高级工程师,Kubeflow Member.Fluid(CNC ...
- Java8-JVM内存区域划分白话解读
前言 java作为一款能够自动管理内存的语言,与传统的c/c++语言相比有着自己独特的优势.虽然我们无需去管理内存,但为了防范可能发生的异常,我们需要对java内部数据如何存储有一定了解,已应对突发问 ...
- Atcoder Regular Contest 089 D - ColoringBalls(DP)
Atcoder 题面传送门 & 洛谷题面传送门 神仙题. 在下文中,方便起见,用 R/B 表示颜色序列中球的颜色,用 r/b 表示染色序列中将连续的区间染成的颜色. 首先碰到这一类计算有多少个 ...
- HDU 6984 - Tree Planting(数据分治+状压 dp)
题面传送门 傻逼卡常屑题/bs/bs,大概现场过得人比较少的原因就是它比较卡常罢(Fog 首先对于这样的题我们很难直接维护,不过注意到这个 \(n=300\) 给得很灵性,\(k\) 比较小和 \(k ...