1.分支简介
分支:是针对某类开发工作的一个提交结点序列,序列中最新的提交表示了该分支代码的最新版本。分支通常根据工作类别命名,例如: dev 、 test 分支;使用分支意味着你可以分离各个开发路线,然后在彼此不影响情况下同时向前推进。
当前分支:
一个仓库经常有多个分支。但在任何时刻,开发者只能在众多分支中的某一个分支上工作,这个处于工作状态的分支称为当前分支。
在 git 命令中,当前分支经常使用引用 HEAD 来表示。HEAD指向当前分支的当前所在的某个提交节点.
2.创建分支:第一次(根提交)会创建默认分支
`创建仓库
git init
查看分支
git branch -a
编写test.cpp源文件
#include <iostream>
int main(){
std::cout<<"branch:dev"<<std::endl;
std::cout<<"version:1.0 "<<std::endl;
}
集结并提交一个节点:
3.创建并切换到新分支
4.分支相关命令:
git branch -a //查看分支
git switch dev //切换分支
git branch test //创建新分支
git switch -c test //创建并切换新分支
git branch -d test //删除分支
5.切换分支和分支演进
`每次提交后HEAD随着分支一起向前移动
`HEAD在一次switch之后指向另一个分支:
如git切换回dev分支时,完成2个操作:
- HEAD 引用指向 dev 分支指针
- 用 dev 分支指针指向的最后一个提交对象的快照来恢复集结区和工作树。
6.切换到匿名分支
`假设当前的git仓库如图:
`我们有时需要在某个提交节点上创建新分支,可以切换到该提交节点,得到一个匿名分支。
`git switch -d ce9088 // 等价于 git checkout ce9088
相当于创建了一个没有名字的匿名分支,指向 ce9088 。
`对于匿名分支,其 commit 工作与普通情况一样,只是没有命名的分支文件被更新,由 HEAD 指向最新的提交节点。
下图展示了匿名分支做了 1 次提交的情形:
此时在匿名分支上 git branch 创建新分支就可以引用到该匿名分支
在匿名分支上做的提交在切换时会被丢弃
版权归原作者 short_Backboard 所有, 如有侵权,请联系我们删除。