1-16 tortoiseGit分支与Git操作

news/2025/2/19 14:23:37/

1-1 创建分支


什么时候需要开分支?
        - 隔离线上版本和开发版本
        - 大功能开发,不想影响到其他人,自己独立开个分支去开发

SVN经典目录结构:
        - trunk-------------------------开发中的文件
        - branches-------------------分支
        - tags--------------------------标签


新建三个文件夹:trunk【主干】,branch【分支】,tag【标签】,将文件放置到trunk下面 

提交:将全部文件勾选



创建分支:参考文章


如何使用 TortoiseGit(小乌龟)进行分支创建、切换与合并以及解决冲突 - CharyGao - 博客园



然后切换分支:在工作区依次点击 鼠标右键 -> TortoiseGit -> 切换/检出


切换分支选择



在新分支下执行PUSH操作,在对话框中保持远程分支为空白,点击OK,则将在远程创建了新的分支(在PUSH的时候远程服务器发现远程没有该分支,此时会自动创建一个和本地分支名称一样的分支,并将本地分支的内容上传到该分支)。



回到github上查看是否多出一个分支???

参考文章:使用TortoiseGit(小乌龟)操作分支的创建和切换_小乌龟切换分支-CSDN博客


在文件分支中新建一个文件夹,然后将文件夹推送到最新创建的分支中



文件在新创建的分支上有,在主分支上没有 

注:工作中经常使用到主干和分支分开管理,这个是很重要的 


1-2 合并操作


将修改的版本合并到主干上:将分支上修改的内容合并到主干上


可以使用这种方式这种方式是使用merge进行操作,不推荐这种方式 


1-2-1 rmerge操作

这是merge操作的参考文章:


参考文章:GIT 入门详解指南_git使用入门-CSDN博客


参考文章:1-14 Merge与rebase操作-CSDN博客


如何使用 TortoiseGit(小乌龟)进行分支创建、切换与合并以及解决冲突 - CharyGao - 博客园


参考视频:16.分支简介和基本操作_哔哩哔哩_bilibili


参考视频: 16.分支简介和基本操作_哔哩哔哩_bilibili


merge参考操作:

注:“使用git merge dev【分支名】 ---将不同的分支合并到当前分支中”


将dev分支合并到main分支中:首先需要将分支切换到main分支中,然后使用git merge dev将分支合并到main分支中。


1-2-2 查看分支图

git log --graph --oneline --decorate --all 

使用以上的命令查看我们的分支图


1-2-3 查看当前分支

 切换分支指令

git switch develop[分支名]

查看当前分支 

git branch

 使用这个指令查看当前分支:显示当前的分支位于主分支中

可以看到分支被合并之后还是存在的,如果我们不手动删除分支的话分支还是会存在的,需要删除分支可以使用以下的指令,该命令表示的具体含义是删除已经完成合并的分支

git branch -d develop【分支名删除分支】 

 没有被合并的话不能使用 -d 这个命令进行删除,需要使用-D这个命令来删除,没有被合并的情况如下所示:

当然我们可以使用命令的方式手动合并一下,将一个字符串从定向到一个文件中

$ echo "develop-delete-merge" merges88.txt


然后提交文件:以下是一系列操作


注:merge合并的时候会弹出一个文本用于填写提交信息



执行merge操作的时候需要将分支从main分支切换到dev分支,然后执行merge操作


这是merge操作的实际演示

将修改提交到分支develop中之后,切换会主分支 

切换会主要分支:master





合并分支

  • 首先切换至合并的分支,注意:这里我们想要把 dev 合并到 master,我们就从 dev切换到 master;
  • 鼠标右键 -> TortoiseGit -> 合并,选择合并来源分支;



将代码提交到master上


 提交代码到远程


推送代码到远程仓库

 

 远程仓库查看

表示推送成功!!! OK


1-2-1 rebase操作讲解 

rebase操作参考:18.回退和rebase_哔哩哔哩_bilibili


这是一个rebase操作的理解,在dev上执行rebase操作,dev上的两个分支操作会被变基到main分支上


在main分支上执行dev操作,会将main分支上的节点变基到dev分支上,主要的原理:和嫁接一直一样吧整个分支嫁接一直到目标分支的最新提交记录后面


rebase操作演示:


第一步:先切换到devlop分支 :


第二步:进行rebase操作git rebase main 将dev分支中的点移基到main分支最新的提交节点上


先查看一下文件的提交树

点击选中变基操作 

选择需要变基的分支

 查看小乌龟中给出的信息

查看远程仓库是否发生改变 




新建一个文件进行移基操作,文件的名字叫做222222然后commit,然后切换到dev分支上进行移基操作。实际上移基操作在哪一个分支上都可以,但是建议将移基操作放置到main函数中


注:

一定要避免在共享的分支上进行rebase操作!!!,

一定要避免在共享的分支上进行rebase操作!!!,

一定要避免在共享的分支上进行rebase操作!!!,

会改变历史提交,改变当前分支的branch out节点,避免在共享分支中使用


......


http://www.ppmy.cn/news/1572800.html

相关文章

SpringBoot如何配置开发环境(JDK、Maven、IDEA等)

目录 1. 安装JDK 一、JDK介绍JRE(Java Runtime Envirnment):Java运行环境 二、下载JDK官网地址:Java Downloads | Oracle 三、安装JDK点击下载下来的安装包进行安装 四、配置JDK进入到环境变量中(下面介绍两种进入…

探索Hugging Face:开源AI社区的核心工具与应用实践

引言:AI民主化的先锋 在自然语言处理(NLP)领域,Hugging Face已成为开源社区的代名词。这个成立于2016年的平台,通过提供易用的工具和丰富的预训练模型库,彻底改变了开发者使用和部署AI模型的方式。截至202…

如何使用Java语言在Idea和Android中分别建立服务端和客户端实现局域网聊天

手把手教你用Java语言在Idea和Android中分别建立服务端和客户端实现局域网聊天 目录 文章目录 手把手教你用**Java**语言在**Idea**和**Android**中分别建立**服务端**和**客户端**实现局域网聊天**目录**[toc]**基本实现****问题分析****服务端**Idea:结构预览Server类代码解…

第 16 天:游戏 UI(UMG)开发,打造主菜单 血条!

🎯 目标 ✅ 使用 UMG 创建 UI 并在游戏中显示 ✅ 实现血条(HP Bar)系统,动态显示角色生命值 ✅ 创建主菜单 UI,并添加开始/退出按钮 ✅ 保存当前场景,创建新场景作为主菜单 ✅ 点击 StartGameButton 后&am…

循环学习率CLR——Cyclical Learning Rates

目录 一、介绍 二、原理 2.1 如何估算周期长度? 2.2 如何估计合理的最小和最大边界值? 学习率是训练深度神经网络时的重要超参数,本贴介绍了一种设置学习率的方法——循环学习率。它消除了通过实验找到全局学习率最佳值的需要&#xff0c…

IntelliJ IDEA 接入 AI 编程助手(Copilot、DeepSeek、GPT-4o Mini)

IntelliJ IDEA 接入 AI 编程助手(Copilot、DeepSeek、GPT-4o Mini) 📊 引言 近年来,AI 编程助手已成为开发者的高效工具,它们可以加速代码编写、优化代码结构,并提供智能提示。本文介绍如何在 IntelliJ I…

Spring Boot “约定大于配置”

什么是“约定大于配置”? “约定大于配置”是一种简化开发的设计理念。简单来说,就是框架默认提供了常见的配置和行为,开发者只需要按照约定来编写代码,避免了繁琐的配置,只在需要时进行定制和调整。这种理念在Spring…

T-Sql 打印所有用户表的建表脚本

-- 声明一个变量用于存储表名 DECLARE TableName NVARCHAR(128); -- 声明一个游标,用于遍历所有用户表 DECLARE TableCursor CURSOR FOR SELECT name FROM sys.tables WHERE type U; -- 打开游标 OPEN TableCursor; -- 从游标中获取第一行数据 FETCH NEXT FROM Ta…