.gitignore文件

语法规范

  • #:开头的行表示注释行
  • *:用来匹配零个或多个字符
    • *.a:表示忽略.a文件
    • *.[oa]:表示忽略所有以.a和.o结尾的文件,*~忽略所有以~结尾的文件
  • []:用来匹配括号内的任一字符,如 [abc],也可以在括号内加连接符,如 [0-9] 匹配0至9的数
  • ?:用来匹配单个字符
  • !:用来否定忽略
    • 比如前面用了 *.txt,然后使用 !*a.txt,则这个 a.txt 不会被忽略
  • /
    • 正斜杠在前:匹配项目跟目录;如 /bin 表示忽略根目录下的bin文件,/bsp 表示忽略根目录下的bsp文件夹,但不忽略子目录里的 user/bsp 文件夹
    • 正斜杠在后:匹配文件夹以及在该文件夹路径下的内容,但是不匹配该文件;如 bsp/ 表示忽略bsp文件夹里的所有文件
  • **:匹配多级目录,可在开始,中间,结束

常用例子

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 忽略所有的.bin文件
*.bin

# 不忽略目录下的link.bin
!link.bin

# 不忽略obj目录下的link.bin
!/obj/link.bin

# 忽略doc/notes.txt, 不包括doc/server/arch.txt
doc/*.txt

# 忽略/foo, a/foo, a/b/foo等
**/foo

# 忽略a/b, a/x/b, a/x/y/b等
a/**/b

# 忽略当前路径的 config.php 文件
config.php

创建通用忽略文件

  1. 在任意目录都可以创建(尽量放在不易被勿删的目录下即可),创建 xxx.ignore 文件,在文件中添加忽略的文件后缀
1
2
3
4
5
6
7
*.class
*.log
*.jar
*.war
*.zip
*.idea
*.iml
  1. 打开 C:\Users\JYE 目录,打开 .gitconfig 文件,配置忽略文件地址
1
2
3
4
5
6
[user]
email = 959972276@qq.com
name = jye

[core]
excludesfile = D:/WorkSpace/GitProject/git.ignore
  • 注意
    • 配置路径时,必须是斜杠(/),否则会有异常

git配置ssh免密

  • Gitee 提供了基于SSH协议的Git服务,在使用SSH协议访问仓库之前,需要先配置好账户/仓库的SSH公钥
  • 在一个不会被误删的文件夹下生成sshkey
1
2
ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com"
# Generating public/private ed25519 key pair...

注意:这里的 xxxxx@xxxxx.com 只是生成的 sshkey 的名称,并不约束或要求具体命名为某个邮箱。现网的大部分教程均讲解的使用邮箱生成,其一开始的初衷仅仅是为了便于辨识所以使用了邮箱。

  • 按照提示完成三次回车,即可生成 ssh key
  • 复制生成后的 ssh key,通过仓库主页 「管理」->「部署公钥管理」->「添加部署公钥」 ,添加生成的 public key 添加到仓库中

Gitee添加部署公钥

  • 添加后,在终端(Terminal)中输入
1
ssh -T git@gitee.com
  • 首次使用需要确认并添加主机到本机SSH可信列表。若返回 Hi XXX! You've successfully authenticated, but Gitee.com does not provide shell access. 内容,则证明添加成功

github搜索技巧

按条件筛选

找星星最多的

1
2
stars:>1000 关键词
stars:50000..100000

GitHub按Stars搜索

按语言

1
2
language:python 关键词
language:typescript

GitHub按语言搜索

按时间

1
2
3
created:>2025-01-01
pushed:>2026-06-01 # 近期有更新的
updated:>=2026-01-01

GitHub按时间搜索

按大小

1
2
size:>1000            # 大于 1000 KB
size:<100

GitHub按大小搜索

组合搜索实战

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 找近半年活跃的 Python Web 框架
language:python pushed:>2026-01-01 web framework

# 找 Star 超 10 万的 TypeScript 项目
language:typescript stars:>100000

# 找特定作者/组织的项目
org:facebook
user:torvalds
user:antirez repo:redis/redis

# 找中文文档的项目
readme:中文 stars:>1000

# 找最近更新的 AI 项目
pushed:>2026-04-01 stars:>5000 AI

GitHub组合搜索

代码搜索

GitHub也能够搜索内容

1
2
3
4
关键词 language:python
关键词 repo:owner/name
关键词 extension:js
关键词 filename:docker-compose.yml

最佳实战组合

1
2
3
4
5
6
7
8
# 找高质量 Python 库
stars:>5000 language:python pushed:>2025-01-01

# 找小而美的工具
stars:100..1000 size:<500 language:go

# 找国产优质项目
stars:>500 pushed:>2024-01-01 readme:中文

GitHub代码搜索

git异常记录

pre-receive hook declined

在推送到远程分支时报错:

1
! [remote rejected] master -> master (pre-receive hook declined)

究其原因,就是用户权限不足,无法 push 代码到 master 分支上。只要将用户角色设置成 Master、Owner 等含有 master 分支操作的权限即可。