fork gitlab项目,使用git rebase合并多次提交

2024-05-25 05:08

本文主要是介绍fork gitlab项目,使用git rebase合并多次提交,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

以前的做法

使用fork和git rebase

fork

git rebase

提交mr(Merge Request)


昨天第一次使用fork和git rebase,记录下。。。

以前的做法

以前习惯做法都是clone公司原有项目到本地,然后自己checkout一个新的分支(如dev)进行开发,开发测试完成后,会有组长负责去merge我的dev分支到master。

当然在这个需求的开发期间可能有无数次的git commit和git push。

使用git log可以看到自己在做这个需求期间提交了n次。。。

使用fork和git rebase

fork

选择需要fork的项目,点击【fork】,大约1分钟左右的时间,等fork完了以后就会看到自己名下已经有了该项目

 

然后就是常规操作了,clone自己名下的项目到本地,默认是master分支,然后自己根据当前需求checkout一个新的分支进行需求开发

git clone http://git.xxx.cn/xxx.xie/goutil.git// 例如:新开一个alert分支,进行告警相关功能开发
git checkout -b alert

然后就在alert分支开发---测试---提交

// add修改过的文件
git add main.go 
// 提交修改的msg
git commit -am "xxx" 
// 列出远程项目url
git remote -v
// 设置当前分支的上游
git remote add upstream http://git.xxx.cn/xxx.xie/ops.git
// 提交alert分支的修改
git push origin lert

如果已经设置过upstream,想要修改之前的upstream

git remote set-url upstream http://git.xxx.cn/rd/txxe.git

 

git rebase

合并之前的多次提交。

https://www.cnblogs.com/hujunzheng/p/9732936.html

// 我目前在alert分支,设置master作为rebase。这里还可以设置需要合并前多少次的提交
// git rebase -i master~1 ,表示合并前2次的提交
// -i 代表进入交互模式// 第一步:
git rebase -i master// 第二步
// 进入交互模式后,会出现最近几次的pick,把pick修改为s
// 参考https://www.codercto.com/a/45325.html
// https://www.cnblogs.com/hujunzheng/p/9732936.html// 第三步:
wq 保存后退出// 第四步:
修改 需要提交的msg// 第五步:
wq 保存退出最后出现类似的信息,说明rebase成功。
Successfully rebased and updated refs/heads/alert.

提交mr(Merge Request)

在gitlab下找到需要提交mr的项目的分支(我的alert分支),

选择对应的项目和分支

然后就是等待你的mr被处理,处理完了以后就merge到自己名下的master分支。 

首先clone fork出来的仓库到本地git clone git@github.com:123/456.git在 fork 的代码库中添加上游代码库的 remote 源git remote add upstream git@github.com:789/456.git获取原始仓库分支和对应的提交git fetch upstream在本地实现与upstream的同步git rebase upstream/master
成功的话提示如下:
$ git rebase upstream/master
First, rewinding head to replay your work on top of it...
Fast-forwarded master to upstream/master.推送自己的本地仓库到自己的远程仓库git push

https://blog.csdn.net/pl0321/article/details/86655288

这篇关于fork gitlab项目,使用git rebase合并多次提交的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1000559

相关文章

MySQL中优化CPU使用的详细指南

《MySQL中优化CPU使用的详细指南》优化MySQL的CPU使用可以显著提高数据库的性能和响应时间,本文为大家整理了一些优化CPU使用的方法,大家可以根据需要进行选择... 目录一、优化查询和索引1.1 优化查询语句1.2 创建和优化索引1.3 避免全表扫描二、调整mysql配置参数2.1 调整线程数2.

C#中SortedSet的具体使用

《C#中SortedSet的具体使用》SortedSet是.NETFramework4.0引入的一个泛型集合类,它实现了一个自动排序的集合,内部使用红黑树数据结构来维护元素的有序性,下面就来介绍一下如... 目录基础概念主要特性创建和初始化基本创建方式自定义比较器基本操作添加和删除元素查询操作范围查询集合运

C# Opacity 不透明度的具体使用

《C#Opacity不透明度的具体使用》本文主要介绍了C#Opacity不透明度的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录WinFormsOpacity以下是一些使用Opacity属性的示例:设置窗体的透明度:设置按钮的透

Go语言使用net/http构建一个RESTful API的示例代码

《Go语言使用net/http构建一个RESTfulAPI的示例代码》Go的标准库net/http提供了构建Web服务所需的强大功能,虽然众多第三方框架(如Gin、Echo)已经封装了很多功能,但... 目录引言一、什么是 RESTful API?二、实战目标:用户信息管理 API三、代码实现1. 用户数据

在ASP.NET项目中如何使用C#生成二维码

《在ASP.NET项目中如何使用C#生成二维码》二维码(QRCode)已广泛应用于网址分享,支付链接等场景,本文将以ASP.NET为示例,演示如何实现输入文本/URL,生成二维码,在线显示与下载的完整... 目录创建前端页面(Index.cshtml)后端二维码生成逻辑(Index.cshtml.cs)总结

Spring Integration Redis 使用示例详解

《SpringIntegrationRedis使用示例详解》本文给大家介绍SpringIntegrationRedis的配置与使用,涵盖依赖添加、Redis连接设置、分布式锁实现、消息通道配置及... 目录一、依赖配置1.1 Maven 依赖1.2 Gradle 依赖二、Redis 连接配置2.1 配置 R

Python WSGI HTTP服务器Gunicorn使用详解

《PythonWSGIHTTP服务器Gunicorn使用详解》Gunicorn是Python的WSGI服务器,用于部署Flask/Django应用,性能高且稳定,支持多Worker类型与配置,可处... 目录一、什么是 Gunicorn?二、为什么需要Gunicorn?三、安装Gunicorn四、基本使用启

MySQL 临时表创建与使用详细说明

《MySQL临时表创建与使用详细说明》MySQL临时表是存储在内存或磁盘的临时数据表,会话结束时自动销毁,适合存储中间计算结果或临时数据集,其名称以#开头(如#TempTable),本文给大家介绍M... 目录mysql 临时表详细说明1.定义2.核心特性3.创建与使用4.典型应用场景5.生命周期管理6.注

python urllib模块使用操作方法

《pythonurllib模块使用操作方法》Python提供了多个库用于处理URL,常用的有urllib、requests和urlparse(Python3中为urllib.parse),下面是这些... 目录URL 处理库urllib 模块requests 库urlparse 和 urljoin编码和解码

使用Python提取PDF大纲(书签)的完整指南

《使用Python提取PDF大纲(书签)的完整指南》PDF大纲(Outline)​​是PDF文档中的导航结构,通常显示在阅读器的侧边栏中,方便用户快速跳转到文档的不同部分,大纲通常以层级结构组织,包含... 目录一、PDF大纲简介二、准备工作所需工具常见安装问题三、代码实现完整代码核心功能解析四、使用效果控