git在vs可视化界面下变基操作

news2025/1/15 17:09:00

vs版本:vs2022

天天都在使用git,听说过变基这个名词,但是并没有实操过变基,正好今天有个同事说起一件事情:提交代码的时候有太多的自动合并,如果需要回退版本,操作起来很困难,理想状态下,应该就只有一条时间线,见下图,以前写了代码提交后,git会自动合并,导致有很多的分叉线,2023/5/4 13:30以前的部分,理想状态应该像2023/5/4 13:30以后的部分,不管多少人提交多少分支,左侧应该只有一条时间线。

 这篇文章是教大家怎么使用vs的可视化界面操作,不涉及git命令。

先科普几个基本概念:

提取:获取最新代码到远程仓库,并未同步到本地仓库。

拉取:获取代码到本地仓库

提交:把本地修改代码提交到本地仓库

推送:把本地修改的代码提交到远程仓库

同步:先拉取然后推送。

暂存:单独操作,比如修改了A、B两个文件,只想提交一个A文件,把A文件暂存,然后点“提交临时数据并推送”,可单独把A文件推送到远程,B文件保持未提交的修改状态。

储藏:(暂时未用过,暂不深究)。

至于变基的基本概念这里就不说了,请看这篇文章:两条命令让你的git轻松自动变基,学到了! - 码农教程

现在假设dev分支为基本分支,test1、test2是在dev延伸出来的两个分支,test1、test2代码改完后,要合并到dev分支。

如上图,dev版本上最新的是test1提交的代码,现在如果test2修改了代码,并合并到dev,必定会产生合并代码,并且左侧多出来一条时间线,如果不想多出来一条时间线,这个时候就需要使用变基。以下介绍具体步骤。

第一步 获取最新代码

切换到test2分支,把dev的代码合并到当前分支,并推送,使当前代码为最新代码;(怎么把dev合并到当前分支:如下如,右键dev分支,点击“合并到Current Branch”,弹出“确定要将dev合并到test2?”,点是即可,然后点推送)

图2

 现在test2已经是最新代码

第二步 提交分支

修改test2分支上的代码, 全部提交,但是不推送(相当于保存到本地)

切记不要推送到远端,下图说明,代码还在本地。

 第三步 变基

保持在当前分支下test2,将当前分支变基到dev;

具体操作步骤:点击分支下拉框,右键dev,点击“将Current Branch的基准重定到”,见下图

确定要将test2变基到dev? 选择是 

 第四步 推送

推送当前分支到远程

 第五步 合并分支

切换到dev分支,把test2合并到dev分支,推送,至此,变基合并完成

 最终结果如下图

最后的最后,把思路理一下,

首先,要保持分支为最新代码,把主线上的代码合并到当前分支上,使当前分支为最新,把修改的代码提交到本地,切记不要提交到远程,提交到远程就无法变基了,接下来就是变基了,使本地保持最新代码,把分支代码变基,变基完成,这个时候在推送,就把分支代码变基到最后修改的位置,并推送到远程,最后一步,把分支代码合并到主线。

实际的操作步骤不一定按照我上面说的走,上面的步骤在当前条件下满足要求;但核心思路就是:把主线的最新代码合并到分支,分支进行变基,推送,再把分支代码合并到主线。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何在项目中实现登录时的验证码校验功能?

如何在项目中实现登录时的验证码校验功能? 第一步:创建项目,添加依赖第二步:验证码配置(CaptchaConfig类)第三步:创建CaptchaController第四步:测试注意问题 这里介绍一款老牌的验证…

使用@Resource注解和@Inject注解

1.Resource和Inject概述 1.1.Resource注解 Resource注解是Java规范里面的,也可以说它是JSR250规范里面定义的一个注解。该注解默认按照名称进行装配,名称可以通过name属性进行指定,如果没有指定name属性,当注解写在字段上时&…

KCC南京成立会议如期举办

1915年9月15日,陈独秀等人在上海创立了《新青年》杂志,掀起了中华新文化思潮。接着,在1919年5月4日,陈独秀、李大钊等人发起了五四运动,唤醒了沉睡多年的东方巨狮。从此,五四青年节便成为了青年人的节日。 …

上市后首份财报,紫燕食品去年净利下降超3成

近日,上海紫燕食品股份有限公司(下称“紫燕食品”,603517.SH)交出了上市后的首份年报。 去年9月26日,紫燕食品在上交所主板上市,成为继绝味食品(603517.SH)、周黑鸭(01458.HK&#…

Jetpack Compose 中的Deep Linking — Android

Jetpack Compose 中的Deep Linking — Android 在本文中,我们将学习如何在 Jetpack Compose 中轻松实现深度链接。 什么是深度链接? 深层链接允许用户直接从外部来源(例如网站或其他应用程序)导航到应用程序内的特定内容。 添…

联想笔记本系统更新中断后变成蓝屏怎么U盘重装系统?

联想笔记本系统更新中断后变成蓝屏怎么U盘重装系统?有用户使用的联想笔记本电脑在系统更新的过程中,因为自己进行了一些操作,导致系统更新中断了,重启系统之后变成了蓝屏的情况。那么这个时候怎么去通过U盘重装系统来恢复电脑使用…

2d游戏人物动作实现(C语言)

没有接触制作小游戏前,感觉做游戏很不可思议,游戏里的人物是怎么移动的,怎么攻击,释放技能。。。。。。现在逐渐了解到之后,发现2d游戏人物的动作更多是图片的拼接,动作是否精细,由这个动作的帧…

第四十二章 Unity 下拉框 (Dropdown) UI

本章节我们介绍下拉框 (Dropdown),我们点击菜单栏“GameObject”->“UI”->“Dropdown”,然后调整它的位置,效果如下 其实它的本质就是一个下拉列表,然后选择列表中的一个选项而已。大家在很多网页中应该可以看到类似的UI元…

asp.net+sqlserver学生学籍管理系统

1.系统登录模块:为了保证系统的安全性和保密性,便于用户的管理,对用户设置权限。 界面上需要输入用户名、密码、验证码以及用户类型。 用户类型:普通用户和管理员用户。 2.用户信息管理模块&…

Solr(4):Solr索引库说明及创建

1 索引库概述 索引库类似于mysql的数据库,所以如果要使用Solr必须创建一个索引库才能使用 2 使用solr管理页面去创建【不推荐】 2.1 打开solr的管理页面 2.2 点击add Core name:自定义名字 建议和instanceDir目录保持一样instanceDir:实例名…

两大巨头强强联手,为亿万旅行者提供完美旅程

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 这个“五一”你买到票了么? 今年五一火爆程度可谓“盛况空前”,4月28号(放假前一天)上海单日通往全国所有车站的车票售罄,这是115年以来首次出现这种情况。不仅是上…

javaScript---设计模式-提高复用性

目录 1、提高复用性的设计模式 2、基本结构与应用示例 2.1 享元模式 2.2 桥接模式 2.3 模板方法模式 2.4 JS的组合与继承 提高复用性的目的:①遵循DRY(Dont Repeat Yourself)原则;②减少代码量,节省开销 什么是好的复用…

Android安装apk出现 “安装包无效”或“安装包不兼容”的解决方案

Android 安装apk出现“安装包无效”或“安装包不兼容”解决方案 1. 问题出现2. 配置 build.gradle3. 生成Signed APK 1. 问题出现 使用Android Studio安装apk到手机一切正常,但是分享出去出现安装apk出现“安装包无效”或“安装包不兼容”问题 这种情况需要我们设…

MySQL之从一条记录说起 【InnoDB 记录结构下篇】

前言 本文章收录在MySQL性能优化原理实战专栏,点击此处查看更多优质内容。 本文摘录自 ▪ 小孩子4919《MySQL是怎样运行的:从根儿上理解MySQL》 上一篇文章讲了InnoDB有Compact、Redundant、Dynamic、Compressed4种⾏格式,其中主要讲了Com…

Java——按之字形顺序打印二叉树

题目链接 牛客在线oj题——按之字形顺序打印二叉树 题目描述 给定一个二叉树,返回该二叉树的之字形层序遍历,(第一层从左向右,下一层从右向左,一直这样交替) 数据范围:0≤n≤1500, 树上每个…

深入浅出字符编码

本文对应视频链接: 深入浅出字符编码 什么是编码格式 从一个小问题引入 我们在学习C语言的时候,有一道必做的题目是将大写字母转换成小写,相信有点基础的同学都能不加思索的写出下面的代码: char toLower(char upper){if (up…

大数据Doris(十四):数据模型的选择建议和列定义建议

文章目录 数据模型的选择建议和列定义建议 一、数据模型的选择建议 1、Aggregate数据模型选择<

如何快速给出解释——正交矩阵子矩阵的特征值的模必然不大于1

Memory 首先快速回忆一下正交矩阵的定义&#xff1a; A为n阶实矩阵&#xff0c;且满足A‘AE或是说AA’E&#xff0c;那么A为正交矩阵。 &#xff08;啊&#xff0c;多么简洁的定义&#xff09; 其次快速想到它的性质&#xff1a; ① 实特征值必然 或 其他复数…

qt几种常见安装包制作工具-Qt Installer Framework

Qt Installer Framework&#xff08;简称&#xff1a;QtIFW&#xff09;概述 QtIFW提供了一组工具和实用程序&#xff0c;可以一次性创建安装程序&#xff0c;并在所有支持的桌面Qt平台上部署它们&#xff0c;而无需重写源代码。安装程序将在运行它们的平台上具有本机外观和感…

第四节 特殊权限SUID、SGID、SBIT

1.Set UID 简称 SUID 简称 SUID 限制与功能&#xff1a; SUID权限仅对二进制程序有效&#xff1b; 执行者对于该程序需要具有x的执行权限&#xff1b; 本权限仅在执行该程序的过程中有效&#xff1b;  执行者将具有该程序拥有者的权限 特殊权限SUID、SGID、SBIT 例&am…