Git入门 -- 分支

Git入门 -- 分支

1.分支理解

1.1 主分支

在初始化一个Git项目后,默认只有一个分支(master)。主分支表示项目的稳定版本,其中应该包含无Bug的稳定代码,并且保持随时可以发布的状态。

1.2 功能分支

当项目需要开发新的功能时,应该创建一个新的功能分支。创建分支时,新分支默认指向的代码提交版本为当前分支所指向的代码提交版本。

1.3 关系

分支保证开发者可以在主线(master)之外进行开发工作,并且不影响主线代码。因为主线和分支是两个独立的代码线,这样,你可以在一个分支上尝试新功能、修复bug或进行其他任何类型的开发,而不必担心破坏主线的稳定性。

2.创建分支

2.1 创建主分支

对于个人项目来说 一个主分支就够用,在每次提交时创建一个commit节点

$ git commit -m "节点名"

2.2 创建功能分支

项目有新的功能需要开发时,应该先创建功能分支,并切换到该分支

$ git checkout -b [分支名]

3.合并

3.1 介绍

git merge一共有三种模式 git merge --ff, git merge --no-ff, git merge --ff-only

  • --ff自动合并:当合并的分支为当前分支的后代,会自动执行--ff,若不匹配则执行--no-ff合并。
  • --no-ff非Fast-forward模式:在任何情况下都会创建新的commit多方合并(即使被合并的分支为自己的直接后代)。
  • --ff-only:只会按照 Fast-forward 模式进行合并,如果不符合条件(并非当前分支的直接后代),则会拒绝合并请求并且退出。

3.2 快速合并

当前分支开发完成后需要合并到主分支,通过提交命令直接向主分支提交代码

$ git checkout master #切换至主分支
$ git merge [分支] #将开发的分支合并到主分支

3.3 非快速合并

在进行非快速合并时,需要创建commit节点

$ git merge --no-ff [分支名]

4.Git冲突解决

4.1 冲突发生

当同一个文件被两个分支修改过,在合并这两个分支时就会发生冲突。

4.2 冲突修正

  • 将两个分支文件进行对比修改,满足两个分支的提交。
  • 使用 git addgit commit进行提交(此时提交的是master分支)。
  • 再次合并

5. BUG分支

5.1 描述

开发者在某个分支上工作,突然有一个紧急BUG需要修复,此时需要使用stash功能,先将当前正在工作的现场存储起来,等BUG修复后再继续工作。

5.2 操作流程

  • 存储工作现场

    git stash

  • 切换至BUG分支

    git checkout [出现bug的分支]

  • 添加一个BUG临时分支

    git checkout -b bug01

  • 修复完成后切换回主分支

    git checkout master

  • 合并BUG分支到主分支

    git merge --no-ff -m '分支合并' bug01

  • 返回之前工作现场

    git checkout dev

  • 查看当前分支保存那些工作现场(之前封冻存储的工作现场)

    git stash list

  • 恢复存储现场

    git stash pop

相关推荐
deja vu水中芭蕾5 小时前
git push origin HEAD:refs/for/分支名
git
海岛日记9 小时前
git常用操作
git
喝鸡汤9 小时前
一起学Git【番外篇:如何在Git中新建文件】
git
“αβ”9 小时前
Windows下使用git配置gitee远程仓库
git
谢家小布柔14 小时前
Git图形界面以及idea中集合Git使用
java·git
winner888115 小时前
git merge 冲突 解决 show case
java·git·git merge·git冲突
玩电脑的辣条哥20 小时前
怎么给git动图扣除背景?
git·抠图
谢家小布柔21 小时前
git中的多人协作
git
isolusion1 天前
git分支管理及策略
git
isolusion1 天前
git仓库的基本概念和流程以及一些基本命令
git