主页
文章
分类
标签
关于
Git的标签与文件忽略
Git入门
发布于: 2025-3-13   更新于: 2025-3-13   收录于: Git
文章字数: 1149   阅读时间: 3 分钟   阅读量:

标签

我们每次提交git的时候,版本号都是一大串字符串,如果要直接告诉其他人某个版本会非常的麻烦,而标签就是给每一个版本号一个独特的名称便于记忆与交流。

创建标签

先切换到要打标签的分支,然后输入git tag <name>就可以在当前分支的最新提交版本上打标签:

1
$ git tag v1.0

可以用git tag查看当前的所有标签:

1
2
$ git tag
v1.0

如果说我们想指定版本号来打标签,我们需要先找到对应的版本号:

1
2
3
4
5
6
7
8
9
$ git log --pretty=oneline --abbrev-commit
e5b864b (HEAD -> master, tag: v1.0) docs: fix a formatting error
4f57e98 docs: add git remote connect and easy teamwork
35084ca docs: add vscode some tips about vscode
f138374 (origin/master) docs: fix the merge conflict
099e151 docs: add git_learn_6 about git branch
34ebd61 docs: add Git_learn_6 the part of basic
423c593 docs: add Git_learn_5
5460b8c docs: update git

然后在之前的命令上叫上对应的版本号即可:

1
2
3
4
$ git tag v0.9 4f57e98
$ git tag
v0.9
v1.0

我们还可以用git show <tagname>来查看对应标签的信息:

1
2
3
4
5
6
$ git show v0.9
Author: MJYEE <mjyeecloud@outlook.com>
Date:   Thu Mar 13 14:01:12 2025 +0800

    docs: add git remote connect and easy teamwork
...

我们在创建标签的时候,还可以创建标签信息,这样我们在git show的时候也会看到对应信息:

1
2
# 用-a指定标签名,-m指定说明文字:
git tag -a v666 -m "comming 666" b33a6aa

标签总是和某个commit挂钩。如果这个commit版本同时出现在master和dev分支,那这两个分支上都可以看到这个标签

推送标签

我们本地创建的标签并不会直接与远程标签连接,需要我们自己推送:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
$ git push origin v1.0
Enumerating objects: 29, done.
Counting objects: 100% (29/29), done.
Delta compression using up to 16 threads
Compressing objects: 100% (22/22), done.
Writing objects: 100% (25/25), 183.89 KiB | 707.00 KiB/s, done.
Total 25 (delta 9), reused 0 (delta 0)
remote: Resolving deltas: 100% (9/9), completed with 3 local objects.
To github.com:MJYEEE/blog.git
 * [new tag]         v1.0 -> v1.0

一次推送所有标签 git push origin

删除标签

当我们不需要某个标签或者打错了标签,我们也可以进行删除:

1
2
$ git tag -d v0.9
# Deleted tag 'v0.9' (was 4f57e98)

删除远程标签:

1
2
3
$ git push origin :refs/tags/v1.0
To github.com:MJYEEE/blog.git
 - [deleted]         v1.0

这个: 表示将冒号前面的空值推送到远程标签名,从而高效地删除它,

忽略特殊文件

我们在进行git提交时,总会有一些文件我们不需要提交或者不方便提交,比如说数据库账号密码配置文件,编译代码自动生成的文件,Hugo生成静态博客的public文件夹,这些东西我们不想在git提交时上传,虽然我们可以不添加它们到暂存区去提交,但是status里面看着非常难受,而且不小心提交并推送了还非常麻烦,所有就有了.gitignore文件。

我们在仓库的根目录上创建一个.gitignore文件,然后在里面填入像忽略的文件名:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 排除指定的文件夹
public/
# 排除指定文件
deploy.sh
# 排除所有.开头的隐藏文件:
.*
# 排除所有.xx后缀的文件
*.xx

# 不排除某文件加上!号 比如.gitignore:
!.gitignore

编写完.gitignore,我们就可以尝试一下修改里面文件的内容,然后看一下status,就会没有发现提示。

如果你想添加一个文件到Git,但发现添加不了,就有可能使这个文件被.gitignore忽略了,我们可以从.gitignore删除它,也可以 git add -f xxxx强制添加。