IDEA或者Pycharm在提价代码到GIt时,经常会把项目根目录下的一些编译或输出文件自动添加进来,每次都得手动去掉勾选,十分浪费时间。为了解决此问题,GIt提供了.gitignore文件,来过滤不想提交的文件。

安装.ignore插件

img

配置User Templates

在IDE的设置中,搜索ignore,在版本控制 - Ignore Files SupportUser templates中添加如下配置:

##ignore this file##
/target/
/.idea/
/.settings/
/.vscode/
/bin/

.classpath
.project
.settings
.idea
##filter databfile、sln file##
*.mdb
*.ldb
*.sln
##class file##
*.com
*.class
*.dll
*.exe
*.o
*.so
# compression file
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip
*.via
*.tmp
*.err
*.log
*.iml
# OS generated files #
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
Icon?
ehthumbs.db
Thumbs.db
.factorypath
/.mvn/
/mvnw.cmd
/mvnw

还有一些自己想要排除的,也可接着往下写

规则模式

  1. 空行或以#开头的行被忽略。
  2. 标准的glob模式可以工作,并将递归地应用于整个工作树。
  3. 可以使用正斜杠(/)开始模式,以避免递归。
  4. 您可以使用正斜杠(/)来结束模式以指定目录。
  5. 你可以用感叹号(!)来否定一个模式。
  6. 可用如下正则表达式:
  • Glob模式类似于shell使用的简化正则表达式。

  • 星号(*)匹配零个或多个字符;

  • [abc]匹配括号内的任何字符(在本例中是a、b或c);

  • 问号(?)匹配单个字符;

  • 用连字符分隔的括号([0-9])匹配它们之间的任何字符(在本例中是0到9)。

  • A /**/z将匹配A /z, A /b/z, A /b/c/z,等等。

清除缓存

在IDE终端中运行:

git rm -f -r --cached . 

提交/推送

然后就是正常的push了~

参考链接

pycharm/git ignore忽略操作 - lms21 - 博客园 (cnblogs.com)

Intellij IDEA或Pycharm配置Git忽略文件.gitignore(最简单方式)_pycharm git 忽略idea-CSDN博客

Git–排除文件的推送(使用.gitignore)_git 排除-CSDN博客