目录
- 1、创建分支
- (1)创建分支
- (2)图示理解
- 2、查看分支列表
- 3、分支切换
- 4、查看所有分支的最后一个提交
- 5、删除分支
很简单,就是要创建一个可以移动的新的指针 。
比如,创建一个
testing
分支, 你需要使用命令:git branch testing
。示例:
# 1.查看本地版本库历史提交L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)$ git log --onelineb97ccfd (HEAD -> master) 第3次提交 , 新增内容:branch test v3f72a9fe 第2次提交,新增内容:branch test v2fa2439a 第1次提交,新增readme.txt文件# 2.新建分支testingL@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)$ git branch testing# 3.再次查看本地版本库历史提交L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)$ git log --onelineb97ccfd (HEAD -> master, testing) 第3次提交 , 新增内容:branch test v3f72a9fe 第2次提交 , 新增内容:branch test v2fa2439a 第1次提交,新增readme.txt文件
可以看到(HEAD -> master, testing)
,说明本地版本库中,已经多了一个testing
分支 。(2)图示理解如上操作,会在当前所在的提交对象上创建一个新的指针 。
如下图:
文章插图
那么Git 又是怎么知道当前在哪一个分支上呢? 也很简单 , 它有一个名为
HEAD
的特殊指针,HEAD
指向当前所在的本地分支上 。在本例中,是仍然在
master
分支上 。因为 git branch
命令仅仅 创建 一个新分支,并不会自动切换到新分支中去 。因为上面日志信息:
(HEAD -> master, testing)
,也说明HEAD
指针指向的是master
分支 。如下图所示:
文章插图
如图所示,当前
master
和 testing
分支均指向校验和以 b97ccfd
开头的提交对象 。2、查看分支列表执行命令:
git branch
。不用加任何参数 。如下图:
文章插图
该命令会列出当前本地版本库中存在的所有分支,且当前正在工作的分支前会显示
*
。和命令行路径后面
( )
中的内容相对应 。3、分支切换要切换到一个已存在的分支 , 你需要使用
git checkout branchname
命令 。我们现在切换到新创建的
testing
分支去:# 1.切换到testing分支上L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (master)$ git checkout testingSwitched to branch 'testing' # 提示:切换到分支“testing”# 2.查看当前正在工作的分支 。L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (testing) # 这里$ git branchmaster* testing# 这里
现在 HEAD
就指向 testing
分支了 。(即:HEAD
会指向当前所在的分支)文章插图
【一 『现学现忘』Git分支 — 40、分支基本操作】提示:4、查看所有分支的最后一个提交使用
在创建分支的时候 , 添加-b
选项,可以直接切换到新创建的分支上 。
例如:git checkout -b testing
该命令等价于如下两条命令:
git branch testing
:创建分支 。git checkout testing
:切换分支 。
git branch -v
命令可以查看,所有分支的最后一次提交 。我们在
testing
分支修改readme.txt
文件,再进行一次提交 。# 1.查看当前工作的分支L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (testing)$ git branchmaster* testing# 2.修改文件 , 提交新版本L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (testing)$ echo "branch test v4" >> readme.txtL@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (testing)$ git commit -a -m '第4次提交,新增内容:branch test v4'warning: LF will be replaced by CRLF in readme.txt.The file will have its original line endings in your working directory[testing 25f0827] 第4次提交,新增内容:branch test v4 1 file changed, 1 insertion(+)# 3.查看所有分支的最后一次提价L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (testing)$ git branch -vmasterb97ccfd 第3次提交 , 新增内容:branch test v3* testing 25f0827 第4次提交,新增内容:branch test v4# 4.查看版本库历史提交记录L@DESKTOP-T2AI2SU MINGW64 /j/git-repository/learngit (testing)$ git log --graph --oneline* 25f0827 (HEAD -> testing) 第4次提交,新增内容:branch test v4* b97ccfd (master) 第3次提交,新增内容:branch test v3* f72a9fe 第2次提交 , 新增内容:branch test v2* fa2439a 第1次提交,新增readme.txt文件
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- dubbo的一系列配置与搭建
- 支持JDK19虚拟线程的web框架,之一:体验
- 梦幻西游一天怎么赚50块钱(梦幻西游怎么赚人民币的)
- 记一次 .NET 某娱乐聊天流平台 CPU 爆高分析
- 创造与魔法兑换码2022
- 抖音嘉年华礼物长啥样
- iqoo8骂声一片_iqoo8严重缺点
- AT24C02
- app自动化测试环境安装
- 穿越火线手游暗影宝藏岛第一关怎么通关