情况

在管理一个版本库时,有时候不想要管理某些文件,这个时候我就把这个问价写到.gitignore文件中,这样应该就可以将这个文件忽略,不再进行·版本管理了,但是经常出现的情况是:将这些文件名写到其中了,使用

git status

查看发现这些文件并没有被忽略掉。

原因和解决方法

.gitignore不起作用的原因有两个:

远程库中已存在该文件

一是在远程git库中已存在了这个文件,之前push提交过该文件。

.gitignore文件只对还没有加入版本管理的文件起作用,如果之前已经用git把这些文件纳入了版本库,就不起作用了

解决

需要在远程git库中删除该文件,并在本地pull更新。

git pull

然后再次git status查看状态,file1文件不再显示状态。

本地缓存区存在需要忽略的文件

想要.gitignore起作用,必须要在这些文件不在暂存区中才可以,.gitignore文件只是忽略没有被staged(cached)文件,对于已经被staged文件,加入ignore文件时一定要先从staged移除,才可以忽略。

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

这里用.  是移除缓存区所有的文件,

如果只移除单个或者某个文件夹可以直接跟上文件名和文件夹。

例如移除

testFile.java

的缓存

git rm --cached testFile.java

这样,在.gitignore中写testFile.java,这个文件才可以被忽略掉。

项目管理---git----遇到问题------.gitignore不起作用的更多相关文章

  1. gitignore 不起作用的解决办法

    gitignore 不起作用的解决办法 - sloong - 博客园 https://www.cnblogs.com/sloong/p/5523244.html Administrator@PC-20 ...

  2. gitignore 不起作用的解决办法 不再跟踪 让.gitignore生效,跟踪希望被跟踪的文件

    实践 # https://git-scm.com/docs/gitignore https://git-scm.com/docs/gitignore 不跟踪log目录下的所有文件,但需要保留这个文件夹 ...

  3. 分布式版本控制git常见问题之gitignore冲突(精简版)

    上次写的的太模糊了,现在简单直接写出个人心得,如下: 原因是有人提交了.gitignore里面的内容,所以和本地的不一样,这样就有问题,那么pull都不可以,所以要这样: git update-ind ...

  4. 分布式版本控制git常见问题之gitignore冲突

    所见即所得,建议大家用可视化的SourceTree专为git打造的,非常好用,废话不多说了. 原因是有人提交了.gitignore里面的内容,所以和本地的不一样,这样就有问题,那么pull都不可以,所 ...

  5. Git 忽略提交 .gitignore

    在使用Git的过程中,我们喜欢有的文件比如日志,临时文件,编译的中间文件等不要提交到代码仓库,这时就要设置相应的忽略规则,来忽略这些文件的提交. Git 忽略文件提交的方法 有三种方法可以实现忽略Gi ...

  6. Git 忽略规则 .gitignore文件 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  7. .gitignore不起作用,过滤规则

    git 通过配置.gitignore文件忽略掉的文件或目录,在.gitignore文件中的每一行保存一个匹配的规则 # 此为注释 – 将被 Git 忽略 *.a :忽略所有 .a 结尾的文件 !lib ...

  8. Git中使用.gitignore忽略文件的推送

    转载自:https://blog.csdn.net/lk142500/article/details/82869018 windows下可以用另存为生成gitignore 文件 1 简介 在使用Git ...

  9. git push的时候.gitignore不起作用的解决方法

    问题的原因 这是因为在你添加.gitignore之前已经进行过push操作,有些文件已经纳入版本管理了. 解决方法 我们就应该先把本地缓存删除,然后再进行git的push,这样就不会出现忽略的文件了. ...

随机推荐

  1. Appium 安装详细版教程

      1.安装Appium Python Client包 输入命令  pip install Appium-Python-Client  

  2. 0.前言 three.js 简介

    前言 前段时间开始接触three.js本来以为会很简单但是真正开始学习的时候才发现事情并不是我想象的那么容易,three.js的学习资料非常的少稍微好一点的资料就是收费的,给three.js的学习带来 ...

  3. Hyperledger Fabic中的Transaction流程

    Hyperledger Fabic中的Transaction流程 Transaction处理流程时从client发起proposal到背书节点,背书节点发返回背书结果.client再将proposal ...

  4. 元素transform: rotate()之后,元素宽高该怎么计算?

    通常,利用transform: rotate()元素之后,我们并不会去在意元素大小的变化,因为看上去并没有什么变化.虽然看上去没有变化,其实是有变化的.下面用一个例子来说明一下. html: < ...

  5. 《Java学习笔记JDK8》学习总结

    chapter 6   继承与多态 6.1何谓继承 1.继承的定义:继承就是避免多个类间重复定义共同行为. 2.总结:教材中通过设计一款RPG游戏的部分代码向我们展示了“重复”程序代码的弊端,为了改进 ...

  6. SQLyog的基本使用

    [简介] SQLyog是mysql数据库的客户端软件 [基本使用] 1.连接mysql数据库 2.SQLyog的页面使用介绍 3.基本的数据库命令 1) use命令 切换数据库 2) unsigned ...

  7. 用JAVA制作微型操作系统4月23日情况

    弄好了一个自认为十分精美的界面,但本想着昨天就在开始按钮上先套入控制jp222面板上的jb2标签上的时间更新,这按钮起到开始线程的作用(我认为按钮应该可以通过t.start()来触发线程,结果不知为什 ...

  8. mybatis连接数据库的几种方式

    1.可以通过配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="ht ...

  9. Navicat Premium 连接Oracle 数据库

    昨天开始工作的时候听同事说:Navicat可以连各种数据库,包括Oracle,头一次听说!!!很是尴尬.现在记录一下怎么用Navicat连接Oracle.最重要的是,Navicat只支持32的Orac ...

  10. UIPickerView的使用

    简介:UIPickerView是一个选择器控件,它比UIDatePicker更加通用,它可以生成单列的选择器,也可生成多列的选择器,而且开发者完全可以自定义选择项的外观,因此用法非常灵活.UIPick ...