Git 有 commit,为什么还要引入 tag?Git 的每次提交的 cimmit id 是一串很长的乱七八糟的数字和字母组合,根本不好找。所以,tag 就是一个让人容易记住的有意义的名字,它跟某个 commit 绑在一起。
首先,切换到需要打标签的分支上:
$ git checkout master
然后,敲命令 git tag <name>
就可以打一个新标签:
$ git tag v1.0
可以用命令 git tag 查看所有标签:
$ git tag
默认标签是打在最新提交的 commit 上的。有时候,需要针对某个 comit id 打标签:
$ git tag v0.9 6224937
查看标签信息:
$ git show v0.9
删除标签:
$ git tag -d v0.1
因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。如果要推送某个标签到远程,使用命令:
git push origin <tagname>
$ git push origin v1.0
一次性推送全部尚未推送到远程的本地标签:
$ git push origin --tags
如果标签已经推送到远程,要删除远程标签就麻烦一点,先从本地删除:
$ git tag -d v0.9
然后,从远程删除。删除命令也是 push,但是格式如下:
$ git push origin :refs/tags/v0.9
$ git config --global color.ui true
忽略特殊文件
在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。
.gitignore也提交到Git
被忽略的文件也可以强制提交
$ git add -f App.class
$ git check-ignore -v App.class
$ git config --global alias.st status
$ git config --global alias.co checkout
$ git config --global alias.ci commit
$ git config --global alias.br branch
$ git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"