这篇文章仅供自己以后翻阅加深记忆,要系统的学习 git 教程(中文版),请移步到 liaoxuefeng.com 学习 git 教程部分。
pull, fetch, clone, push, checkout, commit, add 之间的区别如下,图片来源于:http://www.ruanyifeng.com/blog/2014/06/git_remote.html
reset(版本回退)是 Repository 中各个版本之间的关系。
reset HEAD <filename> 这个命令是 Index-->Workspace 的关系。
我使用的是 windows 系统,所以使用 Git Bash 输入命令。首先,全部命令,再实例结合命令:
一、命令
1. 创建标签
$ git tag <tag-name>
2. 查看所有标签
$ git tag
3. 查看标签信息
$ git show <tag-name>
4. 创建带有说明的标签
$ git tag -a <tag-name> -m "description..." <commit id>
5. 删除标签
$ git tag -d <tag-name>
6. 推送标签到远程
$ git push origin <tag-name>
推送没有推送到远程的标签
$ git push origin --tags
7. 删除远程标签
$ git tag -d <tag-name>
$ git push origin :refs/tags/<tag-name>
二、命令结合实例
1. 创建标签
打标签就是为了查找方便。比起 commit id,tag 更简洁好记忆。
$ git tag <tag-name>
先查看更改历史
然后创建标签:
如果命令是 git tag <tag-name>,就是对最近的一次操作打标签,如果命令是 git tag <tag-name> <id> 就是对指定的一次操作打标签。
2. 查看所有标签
同查看分支相似:
$ git tag
按照字母顺序排序。通常我们发布版本都有一个默认的规定,下一版本总会比上一版本数字更大,所以这种排序更符合我们的阅读和理解习惯。
3. 查看标签信息
$ git show <tag-name>
解决了一个冲突。
4. 创建带有说明的标签
$ git tag -a v1.1 -m "version 1.1 released" f81b624
使用命令 git tag 显示有 v1.1 标签,说明创建标签成功,使用 git show v1.1 命令,显示了 "version 1.1 released" 的说明,证明说明添加成功。
5. 删除标签
同分支相似:
$ git tag -d v2.0
首先查看有哪些标签,然后选择我要删除的标签,在查看所有标签。发现标签 v2.0 不存在了。证明已经被删除了。
6. 推送标签到远程
同推送分支到远程相似:
$ git push origin v3.0
将 v3.0 标签推送到远程,然后在 github 上就能看到了:
现在将没有推送到远程的标签全部推送到远程:
$ git push origin --tags
然后在 github 上就可以看到我刚刚推送的标签了。
7. 删除远程的标签
先删除本地的标签,再推送到远程
$ git tag -d v1.1 $ git push origin :refs/tags/v1.1
在使用命令 git tag -d v1.1 后,再使用 git tag 查看有哪些标签,本地的 v1.1 版本没有了。
在使用命令 git push origin :refs/tags/v1.1 后,去 github 网站查看,v1.1 标签(版本)不在了。