最近个人在对自己的一个 npm 包进行更新时,由于跨版本升级的原因,我想对升级前的包做一个tag记录,以方便以后查找。就跟前任留给你的信物一样,虽然以后可能都不会看了,但你保存在那里,至少可以证明它存在过,前任有复合的可能,我们的代码也有重新用到的一天。

虽然平时也在使用 git,但基本上都是 pull 和 push 居多,记得之前使用git tag 这个命令,已经是2年多以前的事了(因为现在的公司用的svn)。突然要用时,才发现忘了怎么用了。所以在这里记录一下,方便以后查找。

新建tag:git add tagName,如:git tag v1.0。

还可以加上 -a 参数来创建一个带备注的tag,备注信息由 -m 指定。如果你未传入 -m 则创建过程系统会自动为你打开编辑器让你填写备注信息。如:

你也可以对某个指定的 commit 创建tag:

其中,9fceb02 是某个commit 的前几位,当然,你也可以写完整的commit 号。查找commit号可通过 git log 命令,想退出 git log时,在英文状态下按 q 即可。

 

下面,以我的一次完整提交为例:

1、git log查看最后一次提交的commit(越在前面的,越是最近的。这里也提示我们,为了方便查找commit,在我们提交commit时,最好写上注释),找到我想要的 commit 号(e878ec237ce2758c6ff20…)之后,按q退出;

2、git tag -a v1.4.5 e878ec237ce2758c6ff20,此时由于我没有写备注信息,git便会自动打开一个类似于vm的命令窗口,让我先填写备注;

这里就跟linux差不多是一样了,记得先按一下 i,才能进入编辑状态,否则你什么也输入不了,备注信息填好之后,按一下 esc  键,退出编辑状态。再输入:wq 按 enter 即可。至此,你的备注信息填写完成了,一个 tag 变添加成功了。

注意:为了操作方便,我建议还是直接使用 git tag -a v1.4.5 e878ec237ce2758c6ff20 -m “你的备注信息”,减少麻烦。我也是不小心才到了上面这一步,不过正好填了个坑,以后遇到知道怎么解决了,也算“因祸得福”吧。

3、tag 添加好之后,你就可以用 git tag 查看你添加的 tag 了;

比如,我运行git tag ,就会打印出 v1.4.5。当然,你也可以用 git show tagName,查看你的 tag 信息。比如,我运行 git show v1.4.5,就会打印出下面一堆信息:

想查看更多信息,按 enter,想退出tag 的内容显示,输入:wq 即可。

4、将tag 推送到远程服务器,git push origin tagName;

先看没提交前,我的git 是这样的:

运行了 git push origin v1.4.5 之后,是这样的:

好了,至此,一次远程打 tag 的流程就走完了。

 

最后,再附上几个在使用 tag 时可能用到的其他 git 命令: