03.Git从放弃到入门:设置别名、获取历史版本、打标签

1,156 阅读3分钟

前言

本文将绍下如何设置git命令别名,使用git checkout获取历史版本,git tag 打标签。

本系列更多文章详见专栏 📚 Git从放弃到入门

设置别名

通过设置别名让频繁使用的Git命令更简单、容易、熟悉。

接下来对常用的命令 git statusgit addgit commitgit checkoutgit 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

image.png

前文介绍 git log 查看日志时会改变默认格式,设置格式化选型。命令很长,不便记忆输入。

$ git log --pretty=format:'%h %ad | %s%d [%an]' --graph --date=short

通过设置别名后,只要输入 git hist即可实现同样功能 👇。

image.png

git checkout 获取旧版本

使用 git hist(git log) 命令展示提交项目历史记录,查看各版本提交快照的哈希。 image.png

通过命令 git checkout <hash> 将指定版本检出至工作区(Working Directory)。

接下来检出最早版本,查看提交历史纪录获取最早的提交hash值 63120ae,查看切换后文件内容。

$ git checkout 63120ae
$ cat helloworld.html 

helloworld.html内容已经改变成最初的。 image.png

git checkout 使仓库处于“分离头指针”(detached HEAD)的状态,这意味着 HEAD (Git 跟踪当前目录应当匹配的那部分)是直接指向提交而非分支。在“分离头指针”状态下,如果你做了某些更改然后提交它们,标签不会发生变化,但你的新提交将不属于任 何分支,并且将无法访问,除非通过确切的提交哈希才能访问。 因此,如果你需要进行更改,比如你要修复旧版本中的错误,那么通常需要创建一个新分支。

切换至master分支最新版本

$ git checkout master
$ cat helloworld.html 

git checkout master命令做了两件事。 一是使 HEAD 指回 master 分支,二是将工作目录恢复成 master 分支所指向的快照内容。此时文件内容已经变更至最后一次提交时。

image.png

git tag 打标签

Git 可以给仓库历史中的某一个提交打上标签,以示重要。 使用这个功能来标记发布结点。

为程序的当前版本打一个 v1 的标签。

$ git tag v1

先前版本切换

如果需要检出先前版本。可以使用 v1^ 代替hash查询 , v1^ 来表示“v1版本的上次提交”。也可以使用 v1~1,效果一样。该表示法意为“v1版本之前的最近一次提交”,格式为tag~n,1可以替换成n任意数值 。

$ git checkout v1^
$ cat helloworld.html 

image.png

检出后,为当前的版本打一个标记 v1-rc

$ git tag v1-rc

只需要输入命令 git tag,列出已有的标签。

$ git tag 

image.png

检出标签

尝试在多个标记版本之间切换。

$ git checkout v1
$ git checkout v1-rc
$ git checkout v1

image.png

日志中查看标签

使用命令查看提交纪录中标签信息。

$ git hist master --all

可以在日志中看到多了两个标签 tag:v1 tag:v1-rcimage.png

📚参考&关联阅读

Pro Git Online

关注专栏

如果本文对您有所帮助请关注➕、 点赞👍、 收藏⭐!您的认可就是对我的最大支持!

此文章已收录到专栏中 👇,可以直接关注。