GIT分支管理(随笔)

目录

前言

一、概念原理

1、分支

2、原理

说明1:

说明2:

二、分支操作

 1、查看分支

2、创建分支

3、切换分支

4、删除分支

5、合并分支

6、合并冲突

7、重命名分支

8、编制分支的介绍

三、标签

1、概念

2、操作

总结


前言

分支,另外在开一条线路,不影响主分支,主分支继续干自己的事情,分支可以辅助干点别的事情;使用不同的分支,并行的实现相关的操作,最后把分支操作合并到主分支中,在Git中,初始化仓库时,Git系统会默认分配一个主分支,名称为:master(可配置修改-main);

一、概念原理

1、分支

  • 基于某个分支,另外开启的一条新的线路
    • 不影响不破坏主分支 
    • 使用不同的分支,并行的实现相关的操作,最后把分支操作合并到主分支中
  • 在Git中,初始化仓库时,Git系统会默认分配一个主分支,名称为:master(可配置修改-main)

2、原理

每一次版本提交时,Git仓库会创建以以下三类对象进行存储:

  • blob 对象:保存着文件快照,有多少个文件就有多少个 blob对象
  • 对象 :记录着目录结构和 blob 对象索引
  • 提交 对象:包含着指向前述树对象的指针和所有提交信息

# 操作一:创建以下三个文件,提交版本
$ touch README test.rb LICENSE
$ git add .
$ git commit -m 'The initial commit of my project'

# 结果:一个提交对象、一个树对象、三个blob对象

GIT分支管理(随笔)_第1张图片

# 操作二:继续做两个版本的提交
$ touch 1.txt
$ git add .
$ git commit -m '1.txt'


$ touch 2.txt
$ git add .
$ git commit -m '2.txt'

GIT分支管理(随笔)_第2张图片

说明1:

  • 图中只画了提交对象,省略了树对象和blob对象
  • 各个提交对象串联起来,形成的线路我们称之为分支
    • 默认只有一条分支,称之为主分支,名称为master
  • 每次提交对象都会指向上一次提交对象的指针
    • 第一个版本的提交没有上一次提交对象

HEAD:特殊的指针

GIT分支管理(随笔)_第3张图片

说明2:

  • v1.0是标签
  • master是默认分支,它是一个是一个特殊的指针,指向默认分支的最后提交对象
  • HEAD也是一个特殊的指针,它指向当前分支。也就是说,我们可以理解为,它是当前指针的别名。

二、分支操作

 1、查看分支

# 查看
$ git branch

# 查看所有的分支和远程分支
$ git branch -a

# 查看各个分支当前所指的对象
$ git log --oneline --decorate

2、创建分支

# 创建一个新的分支: git branch <分支名称>
$ git branch testing


# 创建分支的同时,切换分支: git checkout -b 分支名称
$ git checkout -b feature_login

3、切换分支

# 语法一: git checkout <分支名称>
$ git checkout testing

# 语法二: git switch <分支名称>
$ git switch testing

4、删除分支

# 删除一个分支:git branch -d <分支名称>
$ git branch -d testing

5、合并分支

# 合并分支:git merge <分支名称>
$ git merge testing

6、合并冲突

Administrator@SIT-20210425BZM MINGW64 /e/S3/04-git/bt (main|MERGING)
$ cat 1.txt
<<<<<<< HEAD
好好学习
=======
好好学习----
宝宝巴士
学习好好
>>>>>>> testing

7、重命名分支

# 重命名分支
# git branch -m <旧名称> <新名称>
$ git branch -m main master

8、编制分支的介绍

# 编辑分支的介绍 git branch 分支名称 --edit-description
$ git branch myBranchName --edit-description

三、标签

1、概念

本质是某一个版本提交的别名,便于理解、软件发布,它是软件中的某个里程碑

2、操作

1)查看标签

$ git tag
$ git tag -l
$ git tag --list

2)创建标签

  • 轻量标签:某一个版本提交的别名
  • 附注标签 :标签描述、打标签者的名字、电子邮件地址、日期时间...

2.1)基于当前版本创建标签

# 创建轻量标签 : git tag 名称
git tag v1.0


# 创建附注标签 : git tag -a 名称 -m '描述信息'
git tag -a v1.1 -m '附注标签'

2.2)基于指定版本创建标签

# git tag -a 标签名称 提交的检验和 -m 提交描述
$ git tag -a v1.0 df4cfa75fd1577e8c443106ea2daab0233566322 -m '第一个版本'

$ git tag -a v1.0 df4cfa75 -m '第一个版本'

3) 删除标签

# 删除标签:git tag -d <标签名称>
$ git tag -d v0.1

4)共享标签

$ git push origin v1.5

这里就分享到这了,希望能给小伙伴带来收货!

总结

使用分支意味着你可以把你的工作从开发主线上分离开来,避免影响开发主线。多线程开发,可以同时开启多个任务的开发,多个任务之间互不影响

你可能感兴趣的:(git,github)