git 分支管理:009

1. 分支的(创建、切换、删除)

注意:进行分支操作之前, 需要将当前分支需要提交的文件全部提交, 否则会将未处理的内容一并带到新分支下,这样容易造成分支内容混乱。

查看分支:git branch

创建分支:git branch 分支名

切换分支:git checkout 分支名

创建并同时切换分支:git checkout -b 分支名

删除分支:
  git branch -d 分支名    (注意:如果当前处在“分支1”,则你无法删除“分支1”)

  git branch -D 分支名    (强制删除)

 

1. 查看分支:git branch

 

2. 创建分支:git branch 分支名

 

3. 切换分支:git checkout 分支名

 

4. 创建并同时切换分支:git checkout -b 分支名

 

4. 删除分支:git branch -d 分支名    (注意:如果分支发生了改变或者未合并,则无法删除)

 

强制删除分支:git branch -D 分支名    (如果分支发生了改变或者未合并,也可以强制删除)

这里就不做演示了

 

如果分支不小心被删除了, 而你想找回来,是可以通过哈希值来找回分支的,该怎么做?

这里我删除了“分支2”, 查看操作记录:git reflog    找到“分支2”的哈希值

 

然后通过原来的分支名和哈希值重新创建一个分支, 就可以找回原来被删除的分支:git branch 分支名 哈希值

 

2. 分支合并、分支冲突处理

分支合并:

  进入旧分支,使用命令:git merge 新分支    旧分支是旧功能的意思, 新分支是有新功能的意思,这样就可以将新分支上的内容合并到旧分支上来。

这里暂时讲解两个分支上的合并, 多方合并后续再讲解

 

分支冲突处理:

首先来看一下分支冲突的内容长什么样?

 

 

修复冲突有两种方法:撤销合并、手动解决并提交

撤销合并:git merge --abort

 

手动解决并提交:解决逻辑:要么保留你修改的分支, 要么保留它修改分支,或者都保留, 怎么做?

然后直接用git commit 来提交即可

 

3. 通过命令查看版本线图

git log --oneline --graph  (查看版本线图)

git log --oneline --graph --all    (查看所有版本线图)

git log --oneline --graph -2    (查看当前下最新的2个版本线图)

 

4. 快转机制的原理与使用。

命令:git merge 分支名 --no-ff

原理:快转机制是分支合并时一个功能,如果(主分支)和(副分支)之前共用的是同一个祖先,则使用快转机制后,分支线图会省略显示。举例:有一个主分支, 然后你在主分支上新建一个B分支, B分支做了修改,然后你又将B分支给合并到主分支上了,如果你不使用快转机制(默认是使用的),查看版本线图时会如下:

 

如果你使用了快转机制,查看版本线图时,会如下:

 

由此得出,使用快转机制与否, 区别在版本线图上,那怎么使用快转机制呢?

快转机制默认上是自动使用的, 使用git merge 分支合并命令就是默认使用(快转机制), 如果在分支合并命令后面加上 --no-ff就是不使用(快转机制):git merge --no-ff

 

posted @ 2023-05-30 11:37  博无止境  阅读(5)  评论(0编辑  收藏  举报