什么是分支?
分支简单来说就是不同的开发线路,每一个分支也就意味着每一条开发线路!
分支类别
- 按照空间划分
本地分支:本地仓库的分支
远程分支:远程仓库的分支
- 按照关系划分
跟踪分支:跟踪分支是从远程跟踪分支上生成的本地分支(比如使用命令
“git clone 仓库地址 分支名称”
会在本地仓库生成一个和远程仓库分支名相同的分支,这个分支就是跟踪分支)远程跟踪分支:远程跟踪分支是在本地的只读的记录远程分支状态的分支,其指向用户无法移动,当使用
git fetch
等指令时其指向会依照远程仓库自动移动(这个概念笔者还不是很清楚)
分支命令
1.创建、切换分支
创建一个名叫“develop”的分支
git branch develop
切换当前分支到“develop”分支
git checkout develop
创建一个名叫“feature-bug”的分支,并同时切换到该分支
git checkout -b feature-bug
2.删除分支
(注:确保需要删除的分支不是当前选择分支)
普通删除分支“feature-bug”
1.切换到Master分支
git checkout master
2.删除分支
git branch -d feature-bug
强制删除分支“feature-bug”
1.切换到Master分支
git checkout master
2.删除分支
git branch -D feature-bug
3.合并分支
合并
develop
分支到master
分支1.切换到
master
分支上git checkout master
2.合并
git merge develop
Git默认合并的时候采用的是'Fast Forward'模式,但这种模式下,删除分支后,会丢掉分支信息。如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。使用选项
--no-ff
来禁用'Fast Forward'模式
举例说明:
不使用
Fast Forward
模式合并develp
分支到master
分支1.切换到master分支
git checkout master
2.合并
git merge --no-ff -m "commit message" develop
友情链接