0


git:分支切换

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个操作:

  1. HEAD 引用指向 dev 分支指针
  2. 用 dev 分支指针指向的最后一个提交对象的快照来恢复集结区和工作树。

6.切换到匿名分支

`假设当前的git仓库如图:

`我们有时需要在某个提交节点上创建新分支,可以切换到该提交节点,得到一个匿名分支。

`git switch -d ce9088 // 等价于 git checkout ce9088
相当于创建了一个没有名字的匿名分支,指向 ce9088 。

`对于匿名分支,其 commit 工作与普通情况一样,只是没有命名的分支文件被更新,由 HEAD 指向最新的提交节点。
下图展示了匿名分支做了 1 次提交的情形:

此时在匿名分支上 git branch 创建新分支就可以引用到该匿名分支

在匿名分支上做的提交在切换时会被丢弃


本文转载自: https://blog.csdn.net/m0_73781016/article/details/132196818
版权归原作者 short_Backboard 所有, 如有侵权,请联系我们删除。

“git:分支切换”的评论:

还没有评论