git基础使用--4---git分支和使用

git基础使用--4---git分支和使用

1. 按顺序看

-git基础使用--1--版本控制的基本概念

-git基础使用--2--gti的基本概念

-git基础使用--3---安装和基本使用

2. 什么是分支

  • 简单理解就是副本
  • 在版本控制过程中,为了推进多个任务,我们可以为每个任务创建一个单独的分支,分支可以脱离主支进行开发,开发完之后再进行合并,这样就可以实现并行开发。
  • 举个例子,我们在希望在1.1版本的基础上,增加点赞,收藏,分享和评论四个功能形成1.2版本。那我们就把1.1创建四个分支,分别给甲乙丙丁四个人,分别开发点赞,收藏,分享和评论四个功能。四个人开发完之后,把代码一合并,就形成了1.2版本。
  • 这样的好处是,如果某个分支的功能开发失败或者有bug直接删除那个分支就行,其他分支不受影响

3. 分支的基本操作

命令 操作含义
git branch 分支名 创建分支
git branch -v 查看分支
git checkout 分支名 切换分支
git merge 分支名 把指定的分支名合并到当前分支上

4. 分支的基本操作

4.1 查看分支

  • git branch -v

4.2 创建分支

  • git branch 分支名
js 复制代码
git branch login-part
  • 创建完之后我们再查看分支

4.3 切换分支

  • git checkout 分支名
  • 我们目前在master分支上,现在切换到login-part分支上
js 复制代码
git checkout login-part
  • 已经切换到login-part分支上了

  • 我们在login-part分支上,对test.txt做一些修改

  • 然后我们添加到暂缓区域,并且提交到本地库

js 复制代码
git add test.txt
git commit -m 'login-part first commit' test.txt
  • 这个时候login-part分支中的test.txt已经修改,但是master上还没有修改,我们需要把login-part分支上的修改合并到master上
  • 我们先切换到master分支上
js 复制代码
git checkout master
  • 我们查看test.txt,发现确实没有刚才修改的内容
  • 闲杂合并
js 复制代码
git merge login-part
  • 再打开test.txt,发现合并了

4.4 合并冲突

  • 啥叫冲突,为啥会产生冲突呢

  • 有这么个情况,就是针对同一个文件的同一个部位,不同的分支做了不同的修改,这样在合并的时候,就不知道保留谁去掉谁,比如我们在master分支再test.txt的末行加上一句

  • 并提交

  • 然后切换到login-part分支

  • 然后修改test.txt,在末行加上一句

  • 然后也提交

  • 这个时候,login-part的末行是make conflic from login-part;master的末行是make conflic from master

  • 假设我们要把login-part合并到master上,因为是主分支么

  • 我们先切换到master,

  • 然后执行合并 git merge login-part

  • 这里告诉我们产生冲突了,需要我们手动去决定一下怎么保留,我们打开test.txt看一下

  • 这里我们手动删除特殊符号,保留链各个修改内容,表示两个修改都留下

  • 这里我们做了修改了,需要提交一下,提交的时候不需要带文件名

  • 这时候master分支的修改技术了,但是login-part分支还没有修改,我们再把master分支合并到login-part分支上

  • 切换login-part分支,git checkout login-part

  • 合并,git merge master

  • 发现login-part分支的test.也同步了修改

相关推荐
芥子沫21 小时前
Git Commit 命令详解:版本控制的核心操作
git·devops
lingxiao168882 天前
Git常规应用
git
唐叔在学习2 天前
【Git神技】三步搞定指定分支克隆,团队协作效率翻倍!
git·后端
稚辉君.MCA_P8_Java2 天前
Git 基础 - 查看提交历史
spring boot·git·微服务·云原生·kubernetes
海上生明月丿2 天前
在IDEA中使用Git
java·git·intellij-idea
三口吃掉你2 天前
Git分布式版本控制工具
分布式·git
海绵宝龙2 天前
将若依(RuoYi)项目创建为私有Gitee仓库的完整步骤
前端·gitee
我命由我123453 天前
Git 暂存文件警告信息:warning: LF will be replaced by CRLF in XXX.java.
java·linux·笔记·git·后端·学习·java-ee
海上生明月丿4 天前
Git介绍 && 常用命令
git
力Mer4 天前
【Git】git reset 和 git revert 的用法及示例讲解
git