在上一节 创建分支
中,我们学会了在分支上开发新功能,那么随之而来的问题是:如何查看项目又多少分支?如何再切换到主分支?这节来解决这些问题。
在回答之前,需要先了解一个 Git 术语:引用
(Refs)。简而言之,引用是指 分支
、标签
等。要理解引用概念,需要了解一点 Git 的内部原理。
Git 的本质是一个键值存储系统,我们可以向 git 仓库中插入任意类型的内容,他会对内容进行存储,同时基于内容计算并返回一个唯一的 SHA-1 值作为键,通过该键我们可以再次访问到该内容。
找一个 Git 仓库,然后查看提交日志(《TortoiseGit 入门指南04:查看提交日志》介绍了如何查看提交日志):
每一个提交对应着一个 SHA-1 值,每一个 SHA-1 值都有 40 个字符,在 Git 命令行中查找某个提交之前的历史,则需要记住这个提交的 SHA-1 值!记住一个由 40 个字符组成的串,这真是太强人所难了!即使 Git 人性化的允许只输入 SHA-1 的前 6 位,但还是不够方便。所以,Git 允许为 SHA-1 值起一个别名,用这个名字指针来代替原始的 SHA-1 值,这个名字称为 引用
(references,简称 refs)。分支、标签都属于引用。
这里提及的有关 Git 命令行的内容只是为了理解“引用”的概念,实际上使用 TortoiseGit 查看提交历史根本不需要 SHA-1 值,我们是完全可视化的。
另外,这里提及了一个还没有接触的术语标签
,不必困惑,就当它是一个专有名词,稍后的章节会介绍它的。
浏览所有引用(Refs)
既然知道了分支是引用,就可以用 TortoiseGit 的 浏览引用功能查看版本库中有多少分支:
引用
(Refs)是指本地分支、远程分支、标签等。使用 TortoiseGit - Browse Reference...
打开引用对话框。
在左侧窗口显示引用的类型:本地分支(heads)、远程分支(remotes)、标签(tags)等。
右侧窗口显示选定类型的引用,包括具体的分支、标签,分支会显示最后一次提交的信息,如果要查看所有提交可以使用右键菜单 - Show log 或者双击分支名。
右键菜单提供了更多的操作选项:
- 浏览提交日志:选中分支 - 鼠标右键 - Show log
- 比较差异:选中两个分支 - 鼠标右键 - Compare selected refs
- 配置远程跟踪分支:选中分支 - 鼠标右键 - Select tracked branch
- 恢复远程跟踪分支:选中分支 - 鼠标右键 - Unset tracked branch
- 新建分支:选中分支类型 - 鼠标右键 - Create Branch…
- 切换分支:选中分支 - 鼠标右键 - Switch/Checkout to this…
- 合并分支:选中非当前分支 - 鼠标右键 - Merge to “xxxx”…
- 删除分支:选中分支 - 鼠标右键 - Delete branch
- 删除远程标签:选中标签类型 - 鼠标右键 - Delete remote tags…
切换/签出
现在回答第二个问题,如何再切换到主分支?这用到 TortoiseGit 的 切换/签出
功能,要打开“切换/签出”对话框,选中仓库目录,单击鼠标右键,选择 TortoiseGit - Switch/Checkout...
。
可以选择切换到指定分支(Branch)、标签(Tag)和提交(Commit)。
Create New Branch
:选中将创建指定名称的新分支。新分支将被设置为当前分支(HEAD)...
:可以通过单击此按钮选择不同的分支、标签和提交Overwrite working tree changes(force)
:选中将使用所选版本覆盖工作区中未提交的更改。Track
:仅对远程分支有效。选中后会跟踪远程分支(本地分支和远程分支建立直接联系,后续pull
和push
指令就不必输入远程仓库名和本地仓库名)。
重要提示:如果要切换到
Tag
和Commit
,应该选中Create New Branch
复选框,即创建新的分支并切换到当前分支上去。
读后有收获,资助博主养娃 - 千金难买知识,但可以买好多奶粉 (〃‘▽’〃)