? 这是我参与更文挑战的第9天,活动详情查看: 更文挑战
0x00 ? 前言
? Git入门系列文章链接如下,请按照顺序阅读文章 ?。
本系列文章主要通过示例讲解快速掌握各命令的功能和操作流程,完成Git快速入门。
本文是第三篇,介绍下git命令别名设置,如何获取历史版本,打标签。
0x01 别名
通过设置别名让频繁使用的Git命令更简单、容易、熟悉。
接下来对常用的命令 git status
、git add
、git commit
、git checkout
、git log
进行缩写设置别名,将复杂的命令变为简单的单词。命令简单容易记忆,输入更简单便捷,避免输入很长的参数选项内容。
Windows 用户
使用命令 git config
设置别名:
git config --global alias.co checkout
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.br branch
git config --global alias.hist "log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short"
git config --global alias.type 'cat-file -t'
git config --global alias.dump 'cat-file -p'
复制代码
Unix/Mac用户
将设置内容到更新至的 $HOME
目录的 .gitconfig
文件中:
...
...
[alias]
co = checkout
ci = commit
st = status
br = branch
hist = log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short
type = cat-file -t
dump = cat-file -p
复制代码
前文介绍 git log
查看日志时会改变默认格式,设置格式化选型。命令很长,不便记忆输入。
$ git log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short
复制代码
通过设置别名后,只要输入 git hist
即可实现同样功能 ?。
0x02 git checkout 获取旧版本
使用 git hist
(git log) 命令展示提交项目历史记录,查看各版本提交快照的哈希。
通过命令 git checkout <hash>
将指定版本检出至工作区(Working Directory)。
接下来检出最早版本,查看提交历史纪录获取最早的提交hash值 63120ae
,查看切换后文件内容。
$ git checkout 63120ae
$ cat helloworld.html
复制代码
helloworld.html
内容已经改变成最初的。
git checkout
使仓库处于“分离头指针”(detached HEAD)的状态,这意味着 HEAD (Git 跟踪当前目录应当匹配的那部分)是直接指向提交而非分支。在“分离头指针”状态下,如果你做了某些更改然后提交它们,标签不会发生变化,但你的新提交将不属于任 何分支,并且将无法访问,除非通过确切的提交哈希才能访问。 因此,如果你需要进行更改,比如你要修复旧版本中的错误,那么通常需要创建一个新分支。
切换至master分支最新版本
$ git checkout master
$ cat helloworld.html
复制代码
git checkout master
命令做了两件事。 一是使 HEAD 指回 master 分支,二是将工作目录恢复成 master 分支所指向的快照内容。此时文件内容已经变更至最后一次提交时。
0x03 git tag 打标签
Git 可以给仓库历史中的某一个提交打上标签,以示重要。 使用这个功能来标记发布结点。
为程序的当前版本打一个 v1
的标签。
$ git tag v1
复制代码
先前版本切换
如果需要检出先前版本。可以使用 v1^
代替hash查询 , v1^
来表示“v1版本的上次提交”。也可以使用 v1~1
,效果一样。该表示法意为“v1版本之前的最近一次提交”,格式为tag~n
,1可以替换成n任意数值 。
$ git checkout v1^
$ cat helloworld.html
复制代码
检出后,为当前的版本打一个标记 v1-rc
。
$ git tag v1-rc
复制代码
只需要输入命令 git tag
,列出已有的标签。
$ git tag
复制代码
检出标签
尝试在多个标记版本之间切换。
$ git checkout v1
$ git checkout v1-rc
$ git checkout v1
复制代码
日志中查看标签
使用命令查看提交纪录中标签信息。
$ git hist master --all
复制代码
可以在日志中看到多了两个标签 tag:v1
tag:v1-rc
。
0x04 ?参考
0x05 关注专栏
此文章已收录到专栏中 ?,可以直接关注。
更多文章继续阅读|系列文章持续更新