前言
本文将绍下如何设置git命令别名,使用git checkout获取历史版本,git tag 打标签。
本系列更多文章详见专栏 📚 Git从放弃到入门 。
设置别名
通过设置别名让频繁使用的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即可实现同样功能 👇。
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 分支所指向的快照内容。此时文件内容已经变更至最后一次提交时。
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 。
📚参考&关联阅读
关注专栏
如果本文对您有所帮助请关注➕、 点赞👍、 收藏⭐!您的认可就是对我的最大支持!
此文章已收录到专栏中 👇,可以直接关注。