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.也同步了修改

相关推荐
&Sinnt&7 小时前
Git 版本控制完全指南:从入门到精通
git·后端
Tiny21410 小时前
多人协同开发时Git使用命令
git
WebGirl11 小时前
代码Revert后再次Merge会丢失的问题
git
小皮侠16 小时前
nginx的使用
java·运维·服务器·前端·git·nginx·github
HalukiSan17 小时前
如何提交PR
git·gitlab·github
回家吃月饼1 天前
pycharm2018配置gitee操作
pycharm·gitee
爱莉希雅&&&1 天前
shell编程之awk命令详解
linux·服务器·git
baiyu331 天前
成为git砖家(12): 看懂git合并分支时冲突提示符
git
wu_aceo1 天前
将本地项目提交到Gitee
git·gitee·提交·本地提交·上传git
随便取个六字2 天前
GIT操作 学习
git·学习