当前位置: 首页 > news >正文

1-16 tortoiseGit分支与Git操作

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节点,避免在共享分支中使用


......

相关文章:

  • Windows逆向工程入门之栈指令与核心机制深度解析
  • 什么是原型?
  • Yolov5算法原理
  • 15.1 Process(进程)类
  • 基于 energy (lcl v3.0) 跨平台GUI框架实现的 XTA SDK GUI 源码实现
  • 考研操作系统-----外存文件
  • MATLAB图像处理:图像分割方法
  • 使用conda update python将python3.6更新到python3.7版本出现bug:
  • 计算机组成原理第二章
  • 如何将ubuntu下的一个目录,保存目录结构为一个git仓库并上传
  • Python大数据可视化:基于大数据技术的共享单车数据分析与辅助管理系统_flask+hadoop+spider
  • docker部署dify结合deepseek构建知识库
  • three.js+WebGL踩坑经验合集(8.1):用于解决z-fighting叠面问题的polygonOffset远没我们想象中那么简单
  • 基于2025Python电商商品评论数据采集与分析可视化系统
  • IT : 是工作還是嗜好? Delphi 30周年快乐!
  • 【Java】分布式锁Redis和Redisson
  • c++ gcc工具链
  • 缓存穿透、缓存击穿、缓存雪崩的区别与解决方案
  • 2025年-G4-Lc78--121. 买卖股票的最佳时机--(java版)
  • Blazor-设置组件焦点
  • 京东CEO许冉:外卖日单量接近2000万单,看到外卖对平台拉动和转化效应
  • 男子退机票被收90%的手续费,律师:虽然合规,但显失公平
  • 长沙查处疑似非法代孕:有人企图跳窗,有女子被麻醉躺手术台
  • 全国层面首次!《防震减灾基本知识与技能大纲》发布
  • 中山大学人类学系原系主任冯家骏逝世,享年95岁
  • 匈牙利史专家阚思静逝世,享年87岁