如何设置使git status不显示某些文件(已经在git仓库中)的变更

浏览:59日期:2023-10-30

问题描述

假设git仓库中有文件A B C D,我本地修改了一些,然后使用git status发现A B C都被修改,但A文件其实不能commit(比如去掉了一些LOG,使我调试时能少关注一些东西,但其他人还需要这些LOG)这样每次git status都会显示出A需要commit(实际有不止一个类似A的文件),然后我需要从这些文件中查找出哪些是确实需要commit的,然后使用git commit B C命令.

我想知道的是:1.如何不显示A文件的变动,使用git commit -a把其它文件全部commit而不再输入B C的文件名2.如果A被其他人修改并push,当用我git pull时能取得最新的A

问题解答

回答1:

前段时间刚看到这个问题,使用git update-index --skip-worktree [file] 可以实现你的需求,另外还有一个--assume-unchanged的用法,它们的区别可以参见链接。

相关讨论链接:链接一

链接二

回答2:

git update-index --assume-unchanged /path/to/file

回答3:

git rm --cached file_name

相关文章: