作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我已经创建了一个包含在 git 存储库中的文件的默认版本。重要的是,当有人克隆存储库时,他们会得到该文件的副本。但是,我想设置 git 以便它稍后忽略对此文件的更改。 .gitignore
仅适用于未跟踪的文件。
我的动机是该文件包含特定于机器的信息。我想提供默认值,同时允许人们进行不会被推回原始存储库的本地更改,从而在我们提取新更改时产生 merge 冲突。
我们通常很懒惰并且经常使用 git add .
,所以我很确定如果我不能告诉 git 忽略这个文件,对它的更改最终会被提交并且推。
总而言之,
default_values.txt
,将其添加到我的 git 存储库中,并在有人克隆该存储库时包含在内。git add .
不应将 default_values.txt
添加到提交中。最佳答案
正如许多其他人提到的,一个好的现代解决方案是:
git update-index --skip-worktree default_values.txt
这将忽略对该文件的更改,包括本地和上游,直到您决定再次允许它们:
git update-index --no-skip-worktree default_values.txt
您可以获得标记为已跳过的文件列表:
git ls-files -v . | grep ^S
请注意,与 --skip-worktree
不同,一旦上游更改被 pull ,--assume-unchanged
状态将丢失。
关于git - 我怎样才能让 git 忽略将来对文件的修订?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4348590/
我是一名优秀的程序员,十分优秀!