场景

我们在自己的私有测试分支上调试项目逻辑,给文件做了一些特定的修改,但是文件不想被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,忽略不想提交的文件(忽略跟踪)的更多相关文章

  1. vue+node+mongoDB 火车票H5(三)---git提交时忽略不想提交的文件

    想要把项目通过git提交到GitHub上,但提交时并不想提交node_modules文件夹,这个文件夹太大 git 提交代码时不提交配置文件夹node_modules 在.gitignore文件中添加 ...

  2. 使用git push命令如何忽略不想提交的文件夹或者文件

    如下场景是在window下的操作. 在使用node的时候有个node_modules文件夹很大,一般情况下不想提交,忽略的办法如: 方法一(来自评论区):直接在仓库根目录:执行命令echo 'node ...

  3. git命令——git status、git diff

    前言 当对项目做了更改时,我们通常需要知道具体改了哪些文件,哪些文件更改了没有暂存,哪些文件改了并且已加入到暂存区等待下次commit.上述任务使用git status都可以帮我们解决.但是想要知道文 ...

  4. git忽略已经被提交的文件

    git忽略已经被提交的文件 git rm --cached logs/xx.log 然后更新 .gitignore 忽略掉目标文件, 最后 git commit -m "We really ...

  5. IDEA忽略文件,防止git提交不想提交的文件

    IDEA忽略文件,防止git提交不想提交的文件 方法一(只对没有add到仓库的文件有效): 方法二(只对没有add到仓库的文件有效): 在IDEA中安装.ignore插件.创建好了之后: 安装.git ...

  6. 如何在IntelliJ IDEA中使用.ignore插件忽略不必要提交的文件

    如何在IntelliJ IDEA中使用.ignore插件忽略不必要提交的文件 最近初学Git,而且在使用的IDE是IntelliJ IDEA,发现IDEA在提交项目到本地仓库的时候,会把.idea文件 ...

  7. 订阅 如何在IntelliJ IDEA中使用.ignore插件忽略不必要提交的文件

    如何在IntelliJ IDEA中使用.ignore插件忽略不必要提交的文件 标签: idea git 插件 分类: Git 最近初学Git,而且在使用的IDE是IntelliJ IDEA,发现IDE ...

  8. [转] git忽略已经被提交的文件

    [From] https://segmentfault.com/q/1010000000430426 正确的做法应该是:git rm --cached logs/xx.log,然后更新 .gitign ...

  9. git命令——git rm、git mv

    git rm git rm命令官方解释 删除的本质 在git中删除一个文件,本质上是从tracked files中移除对这些文件的跟踪.更具体地说,就是将这些文件从staging area移除.然后c ...

随机推荐

  1. php.ini 开发和线上配置的差异

    比对了一下php自带的php.ini-development和php.ini-production,备忘. display_errors = Ondisplay_startup_errors = On ...

  2. iOS - UITableView中有两种重用Cell的方法

    UITableView中有两种重用Cell的方法: - (id)dequeueReusableCellWithIdentifier:(NSString *)identifier; - (id)dequ ...

  3. git bash here右键菜单

    Windows Registry Editor Version 5.00 ; Open files[HKEY_CLASSES_ROOT\*\shell\gitbash]@="gitbash& ...

  4. [原]CentOS 7 chrony 笔记

    ~]# timedatectl status Local -- :: CST ==> 本地系统实际时间,设置时间timedatectl set-:: 设置日期timedatectl set- 设 ...

  5. 第五天 py if使用

    if 的结果缩进  用个Tab 缩进四个空格就好了

  6. PAT甲级1026 Table Tennis【模拟好题】

    题目:https://pintia.cn/problem-sets/994805342720868352/problems/994805472333250560 题意: 有k张乒乓球桌,有的是vip桌 ...

  7. Codeforces 1043 - A/B/C/D/E/F - (Undone)

    链接:http://codeforces.com/contest/1043 A - Elections - [水水水水题] 题意: 我和另一个人竞争选举,共有 $n$ 个人投票,每个人手上有 $k$ ...

  8. linux安装tomcat及优化

    Tomcat支持三种接收请求的处理方式:BIO.NIO.APR 1>.BIO模式:阻塞式I/O操作,表示Tomcat使用的是传统JavaI/O操作(即Java.io包及其子包).Tomcat7以 ...

  9. 转 docker创建私有仓库和k8s中使用私有镜像

    docker私有仓库建立 环境说明我们选取192.168.5.2做私有仓库地址yum install docker -y1.启动docker仓库端口服务 docker run -d -p 5000:5 ...

  10. git的简单玩法

    本篇笔记参考廖雪峰的git教程,为方便查看将命令部分提取并记录下来. 无意对原作的版权侵犯,如需要学习请到廖雪峰网站学习git 创建git仓库 # mkdir learngit && ...