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

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

😀前言
本文将详细介绍如何使用 TortoiseGit(小乌龟)进行分支创建、切换与合并以及解决冲突等操作。TortoiseGit 是一个广泛使用的 Windows 图形化 Git 客户端,其友好的用户界面和丰富的功能使得 Git 操作变得更加直观和便捷。

🏠个人主页:晨犀主页
🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力😉😉

💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰
如果文章有什么需要改进的地方还请大佬不吝赐教 先在此感谢啦😊

文章目录

    • 创建分支
    • 切换分支
    • 合并分支
    • 如何解决冲突
      • 场景:
      • 解决
      • 小结

创建分支

  • 在工作区依次点击 鼠标右键 -> TortoiseGit -> 创建分支
image-20240830212501586

master主分支下创建master.txt文件

  • 下面窗口出现后,输入分支名称为dev,即完成创建分支;
image-20240830212746406

dev分支下创建dev.txt文件

切换分支

  • 在工作区依次点击 鼠标右键 -> TortoiseGit -> 切换/检出
image-20240830212936776 image-20240830213020700

点击确定出现成功,且中间为绿色,则分支切换完成。

  • 在工作点击鼠标右键,发现下图所示 commit 对象由 master 变为 dev 分支
image-20240830213230501

合并分支

  • 首先切换至合并的分支,注意:这里我们想要把 dev 合并到 master,我们就从 dev切换到 master;
  • 鼠标右键 -> TortoiseGit -> 合并,选择合并来源分支;
image-20240830213325174
  • 注意查看合并后的文件夹发生了变化,dev分支中创建的 dev.txt 文件出现在当前分支。

确定后可能会提示有错误,这是需要解决冲突,右键 “解决冲突”

image-20240830213627970

右键 “编辑冲突”,编辑后保存提示选择解决冲突,

image-20240830213645360

解决完冲突,提交并推动到服务器,合并完成,记得切换回自己的分支继续开发。

如何解决冲突

场景:

  • 场景一:本地相同文件冲突
  • 场景二:服务端相同文件冲突
  • 场景三:服务端不同文件冲突
  • 场景四:服务端文件名冲突

解决

使用git stash可以解决,那TortoiseGit如何使用stash

1、先拉取,拉取失败后“贮藏更改”。

image-20240830214759466

2、给贮藏一个名字,自己根据需求取。

image-20240830214828240

3、添加成功之后,建议不要关闭窗口,因为一会要使用它。

4、这时候就可以重新拉取。

5、拉取成功,使用第三步中的窗口“弹出贮藏”。

image-20240830215015161

6、选择是

image-20240830215031477

7、然后就可以提交自己的文件了。

8、如果出现冲突了,双击冲突的文件。

image-20240830215206419

9、修改“已合并”的区域,橙色表示git最新版本的修改。

image-20240830215309328

10、修改完成之后,Ctrl+S保存,“标记为已解决”,这时候就可以再次提交了。

image-20240830215328007

最好是在不更新的情况下,把冲突先解决掉,然后提交代码!

小结

通过上述步骤,我们可以有效地使用 TortoiseGit 解决冲突。冲突的产生在多人协作开发中难以避免,但通过合理使用 git 贮藏、及时拉取远程代码以及谨慎地处理每个冲突,我们能够确保项目代码的稳定性和一致性。在解决冲突后,建议对代码进行必要的测试和评审,以确保最终合并的代码不会引入新的问题。记住,预防冲突比解决冲突更重要,定期与团队同步代码并遵循最佳实践,可以大大减少冲突发生的概率。

文章到这里就结束了,如果有什么疑问的地方请指出,诸大佬们一起来评论区一起讨论😁
希望能和诸大佬们一起努力,今后我们一起观看感谢您的阅读🍻
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Linux终端简单配置(Vim、oh-my-zsh和Terminator)
  • SPI通信(一)
  • HarmonyOS(52) 使用安全控件SaveButton保存图片
  • G722.1.C简单介绍
  • 恢复丢失的数据:iPhone 恢复指南
  • R语言股价跳跃点识别:隐马尔可夫hmm和 GARCH-Jump对sp500金融时间序列分析
  • vue.js项目实战案例源码
  • 信息打点-红队工具篇FofaQuakeKunyuSuize水泽Arl灯塔
  • Windows 10远程桌面连接设置
  • -bash: ./log.sh: /bin/bash^M: 坏的解释器: 没有那个文件或目录
  • MySQL集群 主从复制 和 高可用 配置详解
  • 虚拟化设置和虚拟机相关的环境搭建
  • 备战2024年全国大学生数学建模竞赛:多波束测线问题的解题与优化
  • [排序和二分] 绝对差值和
  • 联华证券--开盘如何捕捉涨停股?解析哪些股票容易涨停
  • 【挥舞JS】JS实现继承,封装一个extends方法
  • 【刷算法】从上往下打印二叉树
  • Effective Java 笔记(一)
  • react 代码优化(一) ——事件处理
  • SpringBoot几种定时任务的实现方式
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 成为一名优秀的Developer的书单
  • 初识MongoDB分片
  • 小程序测试方案初探
  • 源码安装memcached和php memcache扩展
  • 主流的CSS水平和垂直居中技术大全
  • puppet连载22:define用法
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • 如何正确理解,内页权重高于首页?
  • ​插件化DPI在商用WIFI中的价值
  • ‌移动管家手机智能控制汽车系统
  • !!Dom4j 学习笔记
  • #git 撤消对文件的更改
  • #gStore-weekly | gStore最新版本1.0之三角形计数函数的使用
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #VERDI# 关于如何查看FSM状态机的方法
  • (20)docke容器
  • (2022 CVPR) Unbiased Teacher v2
  • (4)事件处理——(7)简单事件(Simple events)
  • (C++20) consteval立即函数
  • (C语言)球球大作战
  • (day18) leetcode 204.计数质数
  • (el-Transfer)操作(不使用 ts):Element-plus 中 Select 组件动态设置 options 值需求的解决过程
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (zt)最盛行的警世狂言(爆笑)
  • (八十八)VFL语言初步 - 实现布局
  • (二)十分简易快速 自己训练样本 opencv级联lbp分类器 车牌识别
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (一)、软硬件全开源智能手表,与手机互联,标配多表盘,功能丰富(ZSWatch-Zephyr)
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • *Django中的Ajax 纯js的书写样式1
  • .NET MAUI学习笔记——2.构建第一个程序_初级篇
  • .NET/C# 的字符串暂存池
  • .NET中winform传递参数至Url并获得返回值或文件
  • /etc/sudoer文件配置简析