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

相关推荐
星恒随风1 小时前
Linux开发工具详解(二):Git版本控制、GitHub协作与GDB调试实战
linux·笔记·git·学习·github
寺中人19 小时前
Xshell 完全入门指南:从安装到实战,远程连接+文件传输+会话管理全拆解
git·ssh·github·php·远程连接·xshell·运维工具
酬谢神明则必安20 小时前
git学习记录01
linux·git·学习
lingchen190620 小时前
版本控制 Git源代码项目管理
git
虫无涯20 小时前
Coverity 如何结合 GJB8114-2013使用?
git·单元测试·嵌入式测试·coverity·静态扫描
喵本喵叁肆1 天前
Git 深度解读:从对象模型到分支指针,把版本控制的内核讲透
git
阿钱真强道2 天前
课时00 嵌入式技术应用设计实训 | 开发环境搭建与开发板认识
git·hal库·keil·vs code·开发环境搭建·stm32f103·st-link
老李IT笔记3 天前
激活锁状态怎么检测:三个入口,四种返回值,一份排查顺序
git·智能手机·github
Joecien3 天前
【2026实测】百炼 CLI 托管 Agent 教程:bl managed-agent 配置校验、版本回滚与变更预演(附完整命令)
人工智能·git·阿里云·知识图谱·agi
行者-全栈开发3 天前
【码动四季·秋】从 commit 到发版全自动:Conventional Commits + semantic-release 发布流水线实战
git·ci/cd·自动化发布·atomgit·semantic-releas·语义化版本自动化·git 提交规范落地