如何在不使用.gitignore的情况下保留本地版本的文件?

B S*_*ven 4 git git-svn gitignore

不想更改.gitignore,因为其他人想要回购中的文件.但是我有自己想要使用的副本.

我编辑.git/info/exclude并添加了以下内容:

/Gemfile
/Gemfile.lock
/config/database.yml
/spec/spec_helper.rb
Run Code Online (Sandbox Code Playgroud)

这似乎没有做任何事情.git status仍显示:

# 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:   Gemfile
#       modified:   Gemfile.lock
#       modified:   config/database.yml
#       modified:   spec/spec_helper.rb
Run Code Online (Sandbox Code Playgroud)

在不使用.gitignore的情况下保留本地文件版本的最佳方法是什么?

R0M*_*RMY 7

您可以调用git update-index --assume-unchanged [file names]或者如果有一堆文件,只需执行.gitignore并根据需要修改忽略文件.

文档(强调我的):

当"假定未更改"位打开时,git停止检查工作树文件是否有可能的修改,因此您需要手动取消设置该位以在更改工作树文件时告诉git....
此选项还可以用作粗略的文件级机制,以忽略跟踪文件中未提交的更改(类似于.gitignore对未跟踪文件的更改).