git 分支管理:009
1. 分支的(创建、切换、删除)
注意:进行分支操作之前, 需要将当前分支需要提交的文件全部提交, 否则会将未处理的内容一并带到新分支下,这样容易造成分支内容混乱。
查看分支:git branch
创建分支:git branch 分支名
切换分支:git checkout 分支名
创建并同时切换分支:git checkout -b 分支名
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