Git命令git update-index --assume-unchanged,忽略不想提交的文件(忽略跟踪)
场景
我们在自己的私有测试分支上调试项目逻辑,给文件做了一些特定的修改,但是文件不想被git提交,不想执行git status命令时出现在modified列表里;再比如,我们本地的数据库和测试环境的数据库配置是不一样的,但是在项目开发中每次提交过程中忽略数据库配置文件。那么你这里就可以把不想提交的文件忽略。
当然关于git忽略文件的方式有很多,我这里使用的是git update-index --assume-unchanged命令。
代码举例
D:\code\sp_edaijia (dev/wangteng/test_20181130 -> origin)
git status //私有分支修改过两个文件,然后执行git status 命令
On branch dev/wangteng/test_20181130
Your branch is up to date with 'origin/dev/wangteng/test_20181130'. Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory) modified: sp_edaijia/protected/controllers/ApiController.php //文件①
modified: sp_edaijia/protected/vendors/ApikeyConfigService.php //文件②
执行忽略命令,注意文件的路径,否则会报错
D:\code\sp_edaijia (dev/wangteng/test_20181130 -> origin)
git update-index --assume-unchanged sp_edaijia/protected/controllers/ApiController.php //这里忽略ApiController.php 文件
然后再执行git status 命令查看状态
D:\code\sp_edaijia (dev/wangteng/test_20181130 -> origin)
git status
On branch dev/wangteng/test_20181130
Your branch is up to date with 'origin/dev/wangteng/test_20181130'. Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory) modified: sp_edaijia/protected/vendors/ApikeyConfigService.php //只有一个文件 no changes added to commit (use "git add" and/or "git commit -a")
OK~忽略完毕~
恢复跟踪
git update-index --no-assume-unchanged sp_edaijia/protected/controllers/ApiController.php //恢复跟踪
如果忽略的文件多了,可以使用以下命令查看忽略列表
git uls-files -v | grep '^h\ '
提取文件路径,方法如下
git ls-files -v | grep '^h\ ' | awk '{print $2}'
所有被忽略的文件,取消忽略的方法,如下
git ls-files -v | grep '^h' | awk '{print $2}' |xargs git update-index --no-assume-unchanged
Git命令git update-index --assume-unchanged,忽略不想提交的文件(忽略跟踪)的更多相关文章
- vue+node+mongoDB 火车票H5(三)---git提交时忽略不想提交的文件
想要把项目通过git提交到GitHub上,但提交时并不想提交node_modules文件夹,这个文件夹太大 git 提交代码时不提交配置文件夹node_modules 在.gitignore文件中添加 ...
- 使用git push命令如何忽略不想提交的文件夹或者文件
如下场景是在window下的操作. 在使用node的时候有个node_modules文件夹很大,一般情况下不想提交,忽略的办法如: 方法一(来自评论区):直接在仓库根目录:执行命令echo 'node ...
- git命令——git status、git diff
前言 当对项目做了更改时,我们通常需要知道具体改了哪些文件,哪些文件更改了没有暂存,哪些文件改了并且已加入到暂存区等待下次commit.上述任务使用git status都可以帮我们解决.但是想要知道文 ...
- git忽略已经被提交的文件
git忽略已经被提交的文件 git rm --cached logs/xx.log 然后更新 .gitignore 忽略掉目标文件, 最后 git commit -m "We really ...
- IDEA忽略文件,防止git提交不想提交的文件
IDEA忽略文件,防止git提交不想提交的文件 方法一(只对没有add到仓库的文件有效): 方法二(只对没有add到仓库的文件有效): 在IDEA中安装.ignore插件.创建好了之后: 安装.git ...
- 如何在IntelliJ IDEA中使用.ignore插件忽略不必要提交的文件
如何在IntelliJ IDEA中使用.ignore插件忽略不必要提交的文件 最近初学Git,而且在使用的IDE是IntelliJ IDEA,发现IDEA在提交项目到本地仓库的时候,会把.idea文件 ...
- 订阅 如何在IntelliJ IDEA中使用.ignore插件忽略不必要提交的文件
如何在IntelliJ IDEA中使用.ignore插件忽略不必要提交的文件 标签: idea git 插件 分类: Git 最近初学Git,而且在使用的IDE是IntelliJ IDEA,发现IDE ...
- [转] git忽略已经被提交的文件
[From] https://segmentfault.com/q/1010000000430426 正确的做法应该是:git rm --cached logs/xx.log,然后更新 .gitign ...
- git命令——git rm、git mv
git rm git rm命令官方解释 删除的本质 在git中删除一个文件,本质上是从tracked files中移除对这些文件的跟踪.更具体地说,就是将这些文件从staging area移除.然后c ...
随机推荐
- C# 递归省市区三级树结构
省市区结构 实体 /// <summary> /// 行政区 /// </summary> public class AreaEntity { public int Id { ...
- kylin 使用RESTful API 请求
目前根据Kylin的官方文档介绍,Kylin的认证是basic authentication,加密算法是Base64,在POST的header进行用户认证我使用的用户和密码是(格式:username: ...
- 进程锁Lock
例1: 10个人去买票,先去查询余票,有票就去购买.代码如下: # ticket.py {"ticket": 1} # 只有一张票 import json import time ...
- C++ map的方法
参考文档:http://blog.csdn.net/allovexuwenqiang/article/details/5686583 Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序 ...
- Django’s cache framework
小结: 1.缓存存储位置:数据库.文件系统.内存 2.通过缓存前缀实现跨服务器缓存 Django’s cache framework | Django documentation | Django h ...
- 前后端分离项目,标准json协议格式参考
正常返回 { "code": 0, "data": [{ "cTime": "2018-11-19 14:46:16" ...
- C++中vector使用详细说明 (转)
转自:http://blog.chinaunix.net/uid-26000296-id-3785610.html http://www.cnblogs.com/mr-wid/archive/2013 ...
- python-颜色显示
格式:\033[显示方式;字体色;背景色m......[\033[0m] ------------------------------------------- 字体色 | 背景色 | 颜色描述 -- ...
- 学习gstreamer
1. 对gst 的框架认识. 第一篇文章有结构图说明,清楚易懂:第二篇文章介绍了gst的简单使用 http://www.cnblogs.com/jingzhishen/p/3709639.html h ...
- spring声明式事务管理方式( 基于tx和aop名字空间的xml配置+@Transactional注解)
1. 声明式事务管理分类 声明式事务管理也有两种常用的方式, 一种是基于tx和aop名字空间的xml配置文件,另一种就是基于@Transactional注解. 显然基于注解的方式更简单易用,更清爽. ...