我不是GIT的真正专家,我一直只在git中使用git add
,git commit -m
和bla bla(基本),我已经从克隆项目中获得了文件.gitignore
,并且该文件已经由团队设置。但是对于运行项目,我有另一种方法可以在Makefile
中添加一些语法,因为我无法使用该项目的默认Makefile
,因此我有自己的设置。
所以我在这里更改了Makefile
的文件,但是每次我想git status
认为Makefile
的状态为unstaged for commit
时,我都必须手动执行git checkout -- Makefile
,它将像以前一样将文件恢复为不会在git中添加,因为我的主要问题是:
我想在本地忽略该文件,如何在命令行中做到这一点?
Git中无法忽略对跟踪文件的更改。
从git update-index documentation:
用户经常尝试使用假设不变的和skip-worktree位来告诉Git忽略对跟踪文件的更改。这不能按预期方式工作,因为在执行某些操作时,Git可能仍会根据索引检查工作树文件。通常,Git不提供忽略跟踪文件更改的方法,因此建议使用替代解决方案。
最好创建一个本地包含(例如Makefile.local
)的文件(例如.git/info/exclude
),该文件包含以下内容:
# Variable overrides here.
-include Makefile
# Other overrides here.
然后运行make -f Makefile.local
。如果您只想对变量进行更改(例如,您要对程序使用其他位置),则只需在命令行上添加变量:make CC=clang
。