git 命令行忽略提交_Git忽略提交的3种方法及Git忽略规则
在使用Git的过程中,我们喜欢有的文件比如日志,临时文件,编译的中间文件等不要提交到代码仓库,这时就要设置相应的忽略规则,来忽略这些文件的提交。
Git 忽略文件提交的方法
有三种方法可以实现忽略Git中不想提交的文件。
1、在Git项目中定义 .gitignore 文件
这种方式通过在项目的某个文件夹下定义 .gitignore 文件,在该文件中定义相应的忽略规则,来管理当前文件夹下的文件的Git提交行为。
.gitignore 文件是可以提交到公有仓库中,这就为该项目下的所有开发者都共享一套定义好的忽略规则。
在 .gitingore 文件中,遵循相应的语法,在每一行指定一个忽略规则。如:
*.log
*.temp
/vendor2\
2、在Git项目的设置中指定排除文件
这种方式只是临时指定该项目的行为,需要编辑当前项目下的 .git/info/exclude 文件,然后将需要忽略提交的文件写入其中。
需要注意的是,这种方式指定的忽略文件的根目录是项目根目录。
3、定义Git全局的 .gitignore 文件
除了可以在项目中定义 .gitignore 文件外,还可以设置全局的 git .gitignore 文件来管理所有Git项目的行为。这种方式在不同的项目开发者之间是不共享的,是属于项目之上Git应用级别的行为。
这种方式也需要创建相应的 .gitignore 文件,可以放在任意位置。然后在使用以下命令配置Git:
git config --global core.excludesfile ~/.gitignore
Git忽略规则
Git忽略规则优先级
在 .gitingore 文件中,每一行指定一个忽略规则,Git 检查忽略规则的时候有多个来源,它的优先级如下(由高到低):
从命令行中读取可用的忽略规则
当前目录定义的规则
父级目录定义的规则,依次递推
$GIT_DIR/info/exclude 文件中定义的规则
core.excludesfile中定义的全局规则
Git 忽略规则匹配语法
.gitignore文件中的忽略规则
在 .gitignore 文件中,每一行的忽略规则的语法如下:
空格不匹配任意文件,可作为分隔符,可用反斜杠转义
#开头的文件标识注释,可以使用反斜杠进行转义
!开头的模式标识否定,该文件将会再次被包含,如果排除了该文件的父级目录,则使用 ! 也不会再次被包含。可以使用反斜杠进行转义
/结束的模式只匹配文件夹以及在该文件夹路径下的内容,但是不匹配该文件
/开始的模式匹配项目跟目录
如果一个模式不包含斜杠,则它匹配相对于当前 .gitignore 文件路径的内容,如果该模式不在 .gitignore 文件中,则相对于项目根目录
**匹配多级目录,可在开始,中间,结束
?通用匹配单个字符
[]通用匹配单个字符列表
常用匹配示例:
bin/: 忽略当前路径下的bin文件夹,该文件夹下的所有内容都会被忽略,不忽略 bin 文件
/bin: 忽略根目录下的bin文件
/*.c: 忽略 cat.c,不忽略 build/cat.c
debug/*.obj: 忽略 debug/io.obj,不忽略 debug/common/io.obj 和 tools/debug/io.obj
**/foo: 忽略/foo, a/foo, a/b/foo等
a/**/b: 忽略a/b, a/x/b, a/x/y/b等
!/bin/run.sh: 不忽略 bin 目录下的 run.sh 文件
*.log: 忽略所有 .log 文件
config.php: 忽略当前路径的 config.php 文件
.gitignore规则不生效
.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。
解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
以上既是Git忽略提交文件的3种方法及Git忽略规则,关于Git使用方法文章请点击下方相关链接
git 命令行忽略提交_Git忽略提交的3种方法及Git忽略规则相关推荐
- git命令行新建分支,并推送至远程分支(git 新建远程分支)
git命令行新建分支,并推送至远程分支(git 新建远程分支) 1.查看当前分支: $ git branch 2.查看所有分支,包含远程分支 : $ git branch -a 3.新建分支: $ g ...
- linux下logcat命令,Android shell命令行中过滤adb logcat输出的几种方法
我们在Android开发中总能看到程序的log日志内容充满了屏幕,而真正对开发者有意义的信息被淹没在洪流之中,让开发者无所适从,严重影响开发效率.本文就具体介绍几种在shell命令行中过滤adb lo ...
- git命令行切换到某一个提交版本的分支
通常,我们需要在命令行下切换 分支,一般而言,我们将远程代码克隆(git clone http://xxx.com/project)到本地之后,切换分支使用git checkout -b branch ...
- linux删除目录或文件命令行,Linux删除目录下的文件的10种方法小结
看到了一遍文章,便突发奇想的想起Linux中删除目录下的所有文件的方法:整理了几个,如有不足,还望读者不吝赐教! 删除当前目录下的文件 1.rm -f * #最经典的方法,删除当前目录下的所有类型的文 ...
- 【Linux】在命令行中查看Linux内核版本的几种方法
如何知道自己的系统使用哪个Linux内核版本?以下是在Linux终端中检查内核版本的几种方法. 如何找到Linux内核版本 1.使用uname命令查找Linux内核 uname是用于获取系统信息的Li ...
- linux 命令行随机数,Linux系统产生随机数的6种方法
Linux系统产生随机数的6种方法 1.通过系统环境变量($RANDOM)产生随机数 [root@localhost ~]# echo $RANDOM 3849 [root@localhost ~]# ...
- Git命令行 回退到指定历史版本
1.git 命令行查询版本号 查询历次提交记录,得到版本号 git log 比如,要回退到的版本号 为ef582da9e1dbcf34f939fdb0fa2db897ae4887b1 2.git 命令 ...
- Git使用命令行拉取项目、提交代码
一.拉取项目 1.打开GitHub,选择项目,复制项目地址 2.在电脑上新建一个项目文件夹,在文件夹里点击右键-->Git Bash Here,打开Git命令行 3.输入git clone + ...
- Git 命令行提交代码详细操作
Git 命令行提交代码操作(安装git后,鼠标右键打开Git Bash) 1.查看本地git绑定的用户名和邮箱: git config user.name git config user.email ...
最新文章
- 调研|我们是否能够实现并应该发展强人工智能?
- matlab中句柄图性对像的设置
- C#里巧用DateTime预设一些可选的日期范围(如本年度、本季度、本月等)
- python 统计单词个数---从文件读取版本---不去重
- 大数据对人们的好处_大数据有什么作用和优势
- python中StringIO和BytesIO
- java common-lang_common-lang3工具类-使用手册
- Cisco思科交换机路由器命令快速入门
- ftp服务器文件夹设置,ftp服务器可设置的文件夹
- win10--ubuntu 16.04桌面共享
- 三大跳槽传闻,信了你就输了!
- 2007年度中文博客百条经典语录
- SpringSecurity实现数据库认证
- 关于SQLの大题练习
- 六派巨量转移技术概述
- 企业电子邮件系统全局地址簿管理及使用方法介绍
- 中国空气质量在线监测分析平台-js混淆的坑
- failed to load steamui.dll怎么解决?
- Power Query-具体查看函数的方法
- 士兵队列训练问题(队列--先进先出)