git的文件操作本质上来讲是基于文件索引来做追踪的。
 
至于忽略未跟踪(untrack)文件文件,git提供了三种方式
1 .gitignore
2 git config --global core.excludesfile
3 git/info/exclude
网上有很多参考资料,可自行查阅。
不同语言项目大致需要忽略的文件,也已有大量现成模板。
 
至于如何忽略已跟踪(tracked)文件,使得当本地某系文件(尤其是配置文件发生改变时,不需要体现在git变化列表中)有以下两种方式:
1.git update-index --assume-unchanged /path/file 与git update-index --no-assume-unchanged /path/file
2.git update-index --skip-worktree /path/file 与git update-index --no-skip-worktree /path/file
此时再对/path/file进行更改,你会发现不会体现在git status列表中
有很多文章介绍采取git rm --cache的方式,不可取,这种方法本质上是将所有文件都删除了
解释:
--assume-unchanged 假定开发人员不会更改文件。此标记旨在为无变化文件夹(如 SDK)改善性能。
--skip-worktree 用于命 GIT 不再染指特定文件——即便开发人员可能更改它——的情形。例如,如果主源码库上游承载某些即将投入生产的配置文件而你不希望意外的提交影响到那些文件,--skip-worktree 正是你的菜。
 
所以我建议使用git update-index --skip-worktree来进行忽略
用以下命令可以查询被skip-worktree命令忽略的文件
git ls-files -v | grep -i ^S
 
极端情况:
某些已跟踪且被跳过的文件在master分支上发生了变化,与本地冲突导致无法进行pull操作。
建议解决步骤如下:
1.检查被跳过的文件
git ls-files -v | grep -i ^S
window下没有grep命令,执行
git ls-files -v

2.发现被跳过的文件在冲突列表中则取消跳过

git update-index --no-skip-worktree /path/file

3.使用stash暂存本地版本

git stash

4.拉取最新文件

git pull

5.自动解决

git stash pop

6.各种方式解决冲突

...

7.重新将该文件加入跳过列表
git update-index --assume-unchanged path/file
git 提供多种处理冲突的方法,自行搜索。

git忽略未被跟踪和已被跟踪的文件的更多相关文章

  1. Visual Studio使用Git忽略不想上传到远程仓库的文件

    前言: 作为一个.NET开发者而已,有着宇宙最强IDE:Visual Studio加持,让我们的开发效率得到了更好的提升.我们不需要担心环境变量的配置和其他代码管理工具,因为VS有丰富的拓展工具.废话 ...

  2. git忽略文件和目录

    ******************************************************** http://jingxuan.io/progit/2-Git%E5%9F%BA%E7 ...

  3. git 使用详解(3)—— 最基本命令 + .gitignore 文件

    Git 基础 本章将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令.读完本章,你就能初始化一个新的代码仓库,做一些适当配置:开始或停止跟踪某些文件:暂存或提交某 ...

  4. Git忽略对特定文件的跟踪和提交

    1.有未提交过的文件,并且此文件项目组中的其他人员也需要忽略,可将此文件的完整路径写入项目文件夹下的.gitignore文件. 2.有未提交过的文件,此这些文件与项目组中的其他人员无关,毋须写入.gi ...

  5. git忽略对已入库文件的修改

    项目开发过程中,会遇到本地配置文件每个开发人员不同的情况,但如果遇到类似数据库配置这种最终需要加入 git 版本控制的配置,则会陷入两难境地.要么不跟踪,要么有人提交后其他人同步下来必须手动修改,非常 ...

  6. Git忽略已经跟踪的文件 转摘:http://blog.csdn.net/huguohuan/article/details/7380349

    某工程project用Git管理代码,但是在他的根目录下有个配置文件,比如project.iws是不需要git每次跟踪它的修改记录的. 一般做法是在.gitignore文件中添加一行 project. ...

  7. git忽略已添加版本控制的文件

    今天使用git做maven项目的版本控制,刚开始搭建项目后,把所有文件全部提交了. 已经提交的文件,gitignore中后配置也无效了. 所以使用以下命令来操作,操作后要提交哦. 1.执行 git r ...

  8. Git忽略提交规则 - .gitignore配置运维总结

    在使用Git的过程中,我们喜欢有的文件比如日志,临时文件,编译的中间文件等不要提交到代码仓库,这时就要设置相应的忽略规则,来忽略这些文件的提交.简单来说一个场景:在你使用git add .的时候,遇到 ...

  9. [转]Git忽略提交规则 - .gitignore配置运维总结

    在使用Git的过程中,我们喜欢有的文件比如日志,临时文件,编译的中间文件等不要提交到代码仓库,这时就要设置相应的忽略规则,来忽略这些文件的提交.简单来说一个场景:在你使用git add .的时候,遇到 ...

随机推荐

  1. C语言调用Python 混合编程

    导语 Python有很多库,Qt用来编写界面,自然产生C++调用Python的需求.一路摸索,充满艰辛 添加头文件搜索路径,导入静态库 我的python头文件搜索路径:C:\Python27amd64 ...

  2. Python 基础 Python是什么

    1.Python 是一门高级的.面向对象的,解释性,脚本语言.

  3. [从零开始搭网站五]http网站Tomcat配置web.xml和server.xml

    点击下面连接查看从零开始搭网站全系列 从零开始搭网站 上一章我们在CentOS下搭建了Tomcat,但是还是没有跑起来...那么这一章就把最后的配置给大家放上去. 有两种方式:一种是用 rm -f 给 ...

  4. 基因组与Python --PyVCF 好用的vcf文件处理器

    vcf文件的全称是variant call file,即突变识别文件,它是基因组工作流程中产生的一种文件,保存的是基因组上的突变信息.通过对vcf文件进行分析,可以得到个体的变异信息.嗯,总之,这是很 ...

  5. JavaEE编程实验 实验1 Java常用工具类编程(未完成)

    1.使用String类分割split将字符串“Solutions to selected exercises can be found in the electronic document The T ...

  6. ASP.net 网站开发知识点总结

    一.常用技术概括及介绍 1. SQL server:处理数据库的设计 2. asp.net  3. html            :前端网页 4. css :网页的布局设计 5. JavaScrip ...

  7. [HTML]html读取本地文件并显示

    <html> <body> <script script type="text/javascript"> function show() { v ...

  8. Python 传递任意数量的实参

    在定义函数的时候如果你不知道该函数在使用的时候要接收多少的实参怎么办? 好在python提供了可以接收任意数量的实参的操作. # def sandwitch(*ingredents): # print ...

  9. 学习笔记4-pathon的range()函数和list()函数

    使用python的人都知道range()函数很方便,今天再用到他的时候发现了很多以前看到过但是忘记的细节.这里记录一下range(),复习下list的slide,最后分析一个好玩儿的冒泡程序. 这里记 ...

  10. @Value注解分类解析

    1.1.1            @Value注解 @Value的作用是通过注解将常量.配置文件中的值.其他bean的属性值注入到变量中,作为变量的初始值. (1)常量注入 @Value(" ...