首页 > 其他分享 >.gitignore文件用法及如何配置

.gitignore文件用法及如何配置

时间:2023-03-06 16:00:59浏览次数:51  
标签:文件 git 用法 忽略 文件夹 class gitignore

.gitignore文件是在git提交的时候用来屏蔽某些你不想提交上去的文件。
项目开发过程中,有时候不想把一些文件(如中间文件/编译文件等)提交到git上。这个时候就由.gitignore文件来筛选出不想提交的文件。所筛选的文件/夹将不会被追踪(tracked),push的时候也不会上传到git上。

创建

我们需要在提交Git之前,需要自己创建一个.gitignore文件,由于Windows下创建文件必须键入文件名,而要创建的.gitignore文件是没有文件名的,所以我们可以使用move命令来实现,打开Git Bash ,使用mv gitignore.txt .gitignore,然后用编辑器编辑这个文件。

语法规范

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

忽略优先级

在.gitignore文件中,每一行指定一个忽略规则,Git 检查忽略规则的时候有多个来源,它的优先级如下(由高到低):

1、从命令行中读取可用的忽略规则
2、当前目录定义的规则
3、父级目录定义的规则,依次递推
4、$GIT_DIR/info/exclude 文件中定义的规则
5、core.excludesfile中定义的全局规则

Django项目建议忽略的文件清单

一般缓存文件__pycache__和本地日志文件.log不需要提交。media文件夹和db.sqlite3文件可能包括了本地测试数据和文件,也不要提交。PyCharm生成的文件, Env文件第三方package也不要提交。下列文件和文件夹建议忽略。

# Django #

*.log

*.pot

*.pyc

__pycache__

db.sqlite3

media

# Backup files #

*.bak

# If you are using PyCharm #

.idea

*.iws /out/

# Python #

*.py[cod]

*$py.class

# Distribution / packaging

.Python build/

develop-eggs/

dist/

downloads/

eggs/

.eggs/

lib/

lib64/

parts/

sdist/

var/

wheels/

*.egg-info/

.installed.cfg

*.egg

*.manifest

*.spec

# Installer logs

pip-log.txt

pip-delete-this-directory.txt

# Unit test / coverage reports

htmlcov/

.tox/

.coverage

.coverage.*

.cache

.pytest_cache/

nosetests.xml

coverage.xml

*.cover

.hypothesis/

# pyenv

.python-version

# celery

celerybeat-schedule.*

# SageMath parsed files

*.sage.py

# Environments

.env

.venv

env/

venv/

ENV/

env.bak/

venv.bak/

# mkdocs documentation

/site

# mypy

.mypy_cache/

# Sublime Text #

*.tmlanguage.cache

*.tmPreferences.cache

*.stTheme.cache

*.sublime-workspace

*.sublime-project

# sftp configuration file

sftp-config.json

# Package control specific files Package

Control.last-run

Control.ca-list

Control.ca-bundle

Control.system-ca-bundle

GitHub.sublime-settings


.gitignore规则不生效

一、gitignore只能忽略那些原来没有被追踪(tracked)的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。
解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:

1. git rm -r --cached .
2. git add .
3. git commit -m 'update .gitignore'

二、你想添加一个文件到Git,但发现添加不了,原因是这个文件被.gitignore忽略了:

$ git add App.class
The following paths are ignored by one of your .gitignore files:
App.class
Use -f if you really want to add them.

如果你确实想添加该文件,可以用-f强制添加到Git:

$ git add -f App.class

三、或者你发现,可能是.gitignore写得有问题,需要找出来到底哪个规则写错了,可以用git check-ignore命令检查:

$ git check-ignore -v App.class
.gitignore:3:*.class    App.class

Git会告诉我们,.gitignore的第3行规则忽略了该文件,于是我们就可以知道应该修订哪个规则。

标签:文件,git,用法,忽略,文件夹,class,gitignore
From: https://www.cnblogs.com/chenxdnote/p/17184217.html

相关文章

  • git常用基本指令及用法含义
      工作原理:说明:workspace:工作区stagingarea:暂存区/缓存区localrepository:版本库或本地仓库remoterepository:远程仓库一个简单的操作gitinit-初始化仓......
  • FTP文件传输协议 :文件传输结束如何判断
    小结:FTP服务器有两大部分组成:一个主进程,负责接受新的请求;还有若干从属进程,负责处理单个请求。FTP文件传输协议经典问题:文件传输结束如何判断-知识库-新睿云https://......
  • 加深spring上传文件
    上传文件的详解创建控制层,上传文件:@ControllerpublicclassMyController{@PostMapping("/myUpload")publicStringupload(HttpServletRequestrequest){......
  • EBS APP_CALCULATE.RUNNING_TOTAL的用法
    有时候需要显示某个栏位的汇总数量,且在例如新增、删除、修改记录的时候,汇总项的值要相应地改变,如果直接使用Form中的SUM属性功能,对于清除等操作要进行复杂处理。Oracle提供......
  • cp 命令复制文件遇到的问题
    [root@himawaribozhou]#cp/etc/skel/.*cp:目标"/etc/skel/.bashrc"不是目录/etc/skel/.bashrc是文件,必须复制到一个目录里,所以命令后面要加.表示当前目录[......
  • Java 合并多个碎片文件到一个文件,也可以直接使用linux cat命名
    Java合并多个碎片文件到一个文件,也可以直接使用linuxcat命名linuxcat命令cat*.zip.*>out.zipjava工具使用方式#编译javacCombineFile.java#执行javaComb......
  • 阿里云OSS文件上传
    阿里OSS文件上传Controllerpackagecom.zft.web.controller.common;importcom.zft.adaptor.common.constants.FileConstants;importcom.zft.adaptor.utils.file.Com......
  • QDir类及其用法总结
    简介QDir类提供了访问系统目录结构及其内容的与平台无关的方式。头文件:#include<QDir>QDir类用来操作路径名及底层文件系统,获取关于目录路径及文件的相关信息,也......
  • 删除 VS Code 编辑器右侧的文件预览
    这个美女是最近一次更新后出现的,让我很分心。我搜索了菜单,但没有找到任何设置来删除它。有什么办法可以从编辑器中消除它吗?解答http://www.stackoverflow.ink......
  • 我应该提交 yarn.lock 文件吗?它有什么用?
    yarn.lock执行.yarn后,Yarn会创建一个文件yarninstall。这应该提交到存储库还是忽略?它是做什么用的?解答http://www.stackoverflow.ink/posts/wo-ying-gai-t......