.gitignore无效解决方案以及git rm和rm的区别
一. gitignore
先来了解一下gitignore的常用语法
斜杠“/”表示目录, 是否已斜杠开头有很大区别,如 /build 与 build/ 的区别:其中 build/ 表示不管在哪个位置的 build 目录都会被忽略;
星号“*”通配多个字符;
问号“?”通配单个字符
方括号“[]”包含单个字符的匹配列表;
叹号“!”表示取反,即不忽略(跟踪)匹配到的文件或目录;
此外,git 对于 .ignore 配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效;
比如:1)规则:myfolder/*
说明:忽略目录 myfolder 下的全部内容;不管是根目录(.gitignore文件所在的目录)下的 /myfolder/ 目录,还是某个子目录 /child/myfolder/ 目录,都会被忽略;
(2)规则:/myfolder/*
说明:只忽略根目录下的 /myfolder/ 目录的全部内容;
但是有时候在.gitignore中新添加规则然后运行 git add . 还是会将不想要的文件添加进去,这是因为.gitignore还没有生效(因为版本控制不会因为你现在修改了.gitignore文件而将你已经添加进去的文件删除),不过可以这样(一定要先commit,不然所做的修改会丢失!)
git commit -am "commit everything first!"
git rm -r --cached . // 这里会从git仓库中清除所有文件,而不是从硬盘上删除文件
git add . // 这里又将所有文件添加进git仓库,同时.gitignore规则会生效
git commit -m "fixed untracked files"
二. git rm 和 rm 区别
1. git rm 删除文件,会将该删除操作记录下来
删除后,执行git commit -m 时,会自动将删除该文件的操作提交;
2. rm 删除文件,仅仅是删除了物理文件,并没有将其从git记录中删除
执行rm删除文件后,单纯执行git commit -m 时,不会将删除记录提交,可执行以下命令:
git commit -am 'remove file' 才会将删除文件的操作提交
.gitignore无效解决方案以及git rm和rm的区别的更多相关文章
- 对比git rm和rm的使用区别
在这里说一下git rm和rm的区别,虽然觉得这个问题有点肤浅,但对于刚接触git不久的朋友来说还是有必要的. 用 git rm 来删除文件,同时还会将这个删除操作记录下来:用 rm 来删除文件,仅仅 ...
- "git rm" 和 "rm" 的区别
"git rm" 和 "rm" 的区别 FEB 3RD, 2013 | COMMENTS 这是一个比较肤浅的问题,但对于 git 初学者来说,还是有必要提一下的 ...
- [转]"git rm" 和 "rm" 的区别
用 git rm 来删除文件,同时还会将这个删除操作记录下来 直观的来讲,git rm 删除过的文件,执行 git commit -m "abc" 提交时, 会自动将删除该文件的操 ...
- "git rm" 和 "rm" 的区别(转载)
转自:http://yang3wei.github.io/blog/2013/02/03/git-rm-he-rm-de-qu-bie/ 这是一个比较肤浅的问题,但对于 git 初学者来说,还是有必要 ...
- jquery easyui textbox onblur事件,textbox blur事件无效解决方案
jquery easyui textbox onblur事件,textbox blur事件无效解决方案 >>>>>>>>>>>> ...
- td中使用overflow:hidden; 无效解决方案
td中使用overflow:hidden; 无效解决方案 >>>>>>>>>>>>>>>>>> ...
- git 命令 git status add rm commit mv
1.查看 git 仓库文件改动状态 Git 仓库内文件改动有 4 种状态,除了 Unmodified 状态的文件因为并未改动默认没有状态不做显示之外,其他文件改动状态都可以通过 git status ...
- .gitignore无效
有个别文件不想跟踪,比如pycharm的配置文件. 但是这个文件已经被git跟踪的情况下,再加入.gitignore是无效的. 只需要: git rm --cached .idea/workspace ...
- phpstorm 的.idea 目录加入.gitignore无效的解决方法
无效的原因是:对应的目录或者文件已经被git跟踪,此时再加入.gitignore后就无效了, 解决办法: 先执行 git rm -r --cached .idea 再重新加入.gitignore文件 ...
随机推荐
- vim常用操作和使用技巧
vi是linux与unix下的常用文本编辑器,其运行稳定,使用方便,本文将分两部分对其常用操作技巧和配置进行阐述,其中参考了网上的一些文章,对作者表示感谢 PART1 操作技巧 说明: 以下的例子中 ...
- android 开发 View _2_ View的属性动画ObjectAnimator ,动画效果一览
支持:https://www.cnblogs.com/whoislcj/p/5738478.html translationX的效果: protected void onCreate(Bundle s ...
- python中 函数名加括号与不加括号
加括号是返回函数的结果,不加括号相当于函数的调用.
- Windows操作系统的版本
Windows操作系统的版本号一览 操作系统 PlatformID 主版本号 副版本号 Windows95 1 4 0 Windows98 1 4 10 WindowsMe 1 4 90 Window ...
- python:爬虫获取淘宝/天猫的商品信息
[需求]输入关键字,如书包,可以搜索出对应商品的信息,包括:商品标题.商品链接.价格范围:且最终的商品信息需要符合:包邮.价格差不会超过某数值 #coding=utf-8 ""&q ...
- 一个free异常引发的异常
有同事反馈说自己的线程不工作,查看堆栈发现其打印如下: # # # # # # # # , info= # <signal handler called> # # # # # # # , ...
- Javascript中 toFixed
javascript中toFixed使用的是银行家舍入规则. 银行家舍入:所谓银行家舍入法,其实质是一种四舍六入五取偶(又称四舍六入五留双)法. 简单来说就是:四舍六入五考虑,五后非零就进一,五后为零 ...
- TXLSReadWriteII5 单元格读写
unit Main; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, ...
- Spring再接触 注入类型
共有三种注入类型 一种是set注入 一种是构造注入 一种是接口注入 最常用的还是set 现在看一下construct 构造注入 在userservice中加入 package com.bjsxt.se ...
- AR涂涂乐
<1> 涂涂乐着色 https://blog.csdn.net/begonia__z/article/details/51282932 http://www.manew.com/blog- ...