首页 > 其他分享 >Git使用教程2——Git本地仓库分支操作,解决冲突问题

Git使用教程2——Git本地仓库分支操作,解决冲突问题

时间:2023-09-02 09:11:46浏览次数:39  
标签:教程 git 删除 仓库 dev Git master txt 分支

上节简单介绍了Git本地仓库的基础操作后,我们接下来讲解git本地仓库的分支操作。

首先什么是分支?

紧接上节的本地仓库git_demo1,我们来看分支:git branch。目前只有一个master分支。

git-log一下,我们创建新的分支dev。git branch dev ,然后切换到dev(git checkout  dev)。或者创建分支并切换到dev(git checkout -b dev )。然后在dev分支上进行操作(删除所有文件),在master分支修改file.txt。演示过程如图:

  (0) 创建dev分支并删除所有文件

 

(1)从dev分支切换到master,修改file1.txt,并提交到本地仓库中。

 

 

 (2)切换到dev分支并查看文件和提交状态

 我们可以看到,不同分支的工作目录中文件是不同的,但是他们都共享这个仓库的提交状态。于是就可以方便实现不同分支之间的协同开发,查看各个分支之间的进度安排。

 

(3)分支合并

此时我们想要将dev分支整合到master:

(1)切换到目标分支master(一般都是其它分支整合到master上)(2)git merge dev

 

注意:dev提交到仓库的操作时删除所有文件,而master分支是修改file1.txt。在进行整合时会有冲突。

接下来我们来解决冲突:

首先分析冲突所在:不同分支对本地仓库的提交中相同的部分做了不同的修改,在合并时产生冲突。

没有冲突部分直接是两个分支的提交的合并。

在本次合并时,不同分支的提交中修改的相同部分是file1.txt。dev删除了file1.txt,master修改了file1.txt。所以我们只要确认了file.txt的最终状态,把他提交到暂存区,再把它交到仓库中即可完成整合。下面进行演示:

补充一个分支合并时的快进模式,当一个分支的操作(提交)包含另一个分支时,在进行分支合并后,被包含分支会快进到包含分支。

(4)删除分支

   git branch -d 分支名(正常删除)git branch -D 分支名(强制删除)

(1)不能删除当前分支(2)对弈合并分支进行删除时,正常删除即可;对未合并分支,需要删除时可强制删除。 

 

(5)说明一下分支在开发中实际的使用情况:

(1)master分支用于线上运行的版本。(2)hotfix/*****分支用于解决线上分支出现的Bug。(3)develop分支主要用于开发。(4)feature/****分支是从develop分支创建,用于和develop分支同期并行开发,但在不同期与deveelop合并,然后develop在与master分支合并完成不同时期上线的功能。(5)其他分支:例如test分支(测试分支),pre分支(预上线分支)。

下面是图解:

 

标签:教程,git,删除,仓库,dev,Git,master,txt,分支
From: https://www.cnblogs.com/20203923rensaihang/p/17672759.html

相关文章

  • PyCharm — Gitee 插件
    本文:在本地电脑安装Git,在线注册Gitee,给PyCharm配置Gitee的使用。Git客户端安装(Windows)⽹址:https://git-scm.com/downloads下载完.exe,双击安装。一路”next“,默认选项。不建议修改安装⽬录位置。查看是否安装成功。cmd打开终端。输⼊  git--version  看到版本......
  • 尚硅谷新版SSM框架全套视频教程,Spring6+SpringBoot3最新SSM企业级开发
    简介  视频地址https://www.bilibili.com/video/BV1AP411s7D7?p=1&vd_source=0d7b1712ce42c1a2fa54bb4e1d601d78 笔记地址https://www.wolai.com/v5Kuct5ZtPeVBk4NBUGBWF......
  • git tag 到底是个啥?
    gittag命令用于在Git仓库中创建、修改和删除标签。它的使用方式如下:创建标签:gittag<tag-name>其中<tag-name>是要创建的标签名称。例如:gittagv1.0这将在当前分支上创建一个名为“v1.0”的标签。查看所有标签:gittag这将列出所有在当前仓库中创建的标签。修改标签:gittag-......
  • Git使用教程-安装、配置、建立本地仓库、本地仓库的基本操作(查看工作区的文件状态,添加
    Git介绍一、为什么要学习Git?在开发一个软件时,这份工作通常需要一个team来完成。我们把这个软件划分为不同的模块,每个人负责一个模块的开发和维护。在这个过程中,如何保持team中成员软件开发的同步,保存开发周期中各个历史版本,解决team中成员间开发的版本冲突?Git是对这个问题......
  • git不同分支同步代码,打patch补丁
    背景介绍一个代码管理者,不可避免的就是要将别人修改的代码同步到其他分支或其他仓库分支,因为不是所有人都有权限去合并的。合并代码有很多方式,比如直接文件夹覆盖、文件覆盖等。但上面的方法,繁琐还容易出错。写shell脚本也可以实现。这里主要想说,可以把内核打补丁的方法,......
  • Learn Git in 30 days——第 10 天:认识 Git 物件的绝对名称
    写的非常好的一个Git系列文章,强烈推荐原文链接:https://github.com/doggy8088/Learn-Git-in-30-days/tree/master/zh-cn在Git版本控制的过程,每一个版本就代表一个commit物件。又因为版控过程中经常会建立分支,最终产出的commitgraph可能会蛮复杂的,所以如何识別不同的版本......
  • 无涯教程-Flutter - 编写IOS代码
    访问iOS特定代码与Android平台上的代码相似,不同之处在于它使用iOS特定语言-Objective-C或Swift和iOSSDK。下表显示了如何在Android和iOS平台上接收Dart值。dartandroidiosnullnull无(嵌套时为NSNull)booljava.lang.BooleanNSNumbernumberWithBool:intjava.lang.Int......
  • 使用 bc4 解决 git 合并冲突问题
    博客地址:https://www.cnblogs.com/zylyehuo/STEP1:安装beyondcompare安装地址:https://www.scootersoftware.com/downloadSTEP2:查看beyondcompare软件安装路径STEP3:在git中配置(仅对当前项目有效)gitconfig--globalmerge.toolbc4gitconfig--globalmergeto......
  • 无涯教程-Flutter - Dart简介
    Dart是一种开源通用编程语言,它最初是由Google开发的,Dart是一种具有C样式语法的面向对象的语言,它支持诸如接口,类之类的编程概念,与其他编程语言不同,Dart不支持数组,Dart集合可用于复制数据结构,例如数组,泛型和可选类型。以下代码显示了一个简单的Dart程序-voidmain(){print......
  • 无涯教程-Flutter - 创建程序
    在本章中,让无涯教程创建一个简单的Flutter应用程序,以了解在AndroidStudio中创建Flutter应用程序的基础。第1步-打开AndroidStudio第2步-创建Flutter项目。为此,请单击File→New→NewFlutterProject第3步-选择FlutterApplication。为此,选择FlutterApplication,然......