Git的 .gitignore文件及标签使用
- 什么是.gitignore
- git check-ignore -v 文件名 查看.gitignore里面什么内容忽略了该文件
- git add -f [filename] 强制添加
- 把指定文件排除在 .gitignore 规则外的写法
- 给命令配置别名
- 标签
- 创建标签
- git tag [name] 创建标签
- git tag 列出所有标签
- git show + 标签 查看标签信息
- git tag -d 标签名 删除某个标签
- git push origin <tagname>
- 删除远端标签
我们今天来看.gitignore文件及标签使用,如果没有看过上一篇的小伙伴可以点击这里:
https://blog.csdn.net/qq_67693066/article/details/136831823
什么是.gitignore
如果我们创建远程仓库的时候,勾选了.gitignore:
那么我们创建出来的仓库就会多出来这么一个文件:
其实 .gitignore 是一个在 Git 版本控制系统中使用的特殊配置文件,它是一个纯文本文件,允许开发者明确指定那些不希望被 Git 追踪的文件和目录列表。通过在 .gitignore 文件中写入相应的文件名、文件扩展名或路径模式,Git 将会在执行 add、commit 等操作时自动忽略匹配这些模式的文件,从而防止它们被错误地添加到版本库中
下面我们来演示一下:我们在Linux上有一个远程仓库:
我们可以查看.gitignore的内容:
这里注意:# 号开头则为注释,这里的 “*”号表示匹配任意文件名,这里的意思是凡是以.so结尾的文件都不追踪。我们保存退出(这里的.gitignore是我们配置过的,如果有小伙伴第一次打开,里面会有很多东西,直接删掉重新写即可)。
按理来说,我们的git应该要追踪这个文件,但是我们git status查看一下仓库状态:
他说我们的工作区很干净,没有什么要提交的,可能是我们的.gitinore文件起了作用,我们再创建一个c.init文件:
说我们有未增加的改动c.init,这时候我们可以确定我们的.gitignore起效果了。
git check-ignore -v 文件名 查看.gitignore里面什么内容忽略了该文件
比如我们可以使用git check-ignore -v a.so来查看,是.gitinore里哪一行规则忽略了a.so:
显示的是.gitignore第二行的*.so规则,使之忽略了a.so。
git add -f [filename] 强制添加
但有些时候,你就是想添加⼀个文件件到?Git,但由于这个文件被 .gitignore 忽略了,根本添加不
了,那么可以用 -f 强制添加:
比如我可以将a.so强制添加:
显示我们已经将a.so添加了。
把指定文件排除在 .gitignore 规则外的写法
比如这个时候我有一个文件b.so我就是想把这个文件交上去,但是我的.gitignore规则又把它忽略掉了,这个时候我们可以强行让b.so排除在外:
这个时候,我们创建b.so:
这个时候指出我们的.gitignore被修改了之外,我们的b.so被追踪了,所以把指定文件排除在 .gitignore 规则外的写法就是 ! +文件名,该文件就可以不用受.gitignore约束。
给命令配置别名
在我们使用Git期间,有些命令敲的时候着实让人头疼,幸运的是,git⽀持对命令进行简化!
比如,将 git status 简化为 git st 对应的命令为:
git config --global alias.st status
–global 参数是全局参数,也就是这些命令在这台电脑的所有Git仓库下都有用。如果不加,那只针对当前的仓库起作用。
我们来试验一下:
我们也可以给查看日志这条命令取个别名:
如果我们手敲,得写这么长:
git log --pretty=oneline --abbrev-commit
我们现在对它取个别名:
标签
创建标签
创建标签
在Git中打标签非常简单,首先,切换到需要打标签的分支上:
git tag [name] 创建标签
然后,敲命令 git tag [name] 就可以打⼀个新标签:
git tag 列出所有标签
这里注意,如果我们想要给指定的commit上打标签呢?方法是找到历史提
交的commitid,然后打上就可以了,示例如下:
git show + 标签 查看标签信息
可以用 git show [tagname] 查看标签信息。
注意,标签不是按时间顺序列出,而是按字母排序的。:
git tag -d 标签名 删除某个标签
git push origin
推送某个标签到远程,使用命令 git push origin :
我们的远程仓库就会多一个标签:
如果标签很多我们可以用git push origin --tags。
删除远端标签
如果标签已经推送到远程,要删除远程标签就麻烦⼀点,先从本地删除:
然后,从远程删除。删除命令也是push,但是格式如下:
或者可以使用:git push origin --delete <tag_name>