The .gitignore
文件在这里不适用,因为这会阻止添加新文件,但同样,该文件具有already已添加。
我只是希望它始终忽略我本地的更改。
另一种方法是进行修改......private文件,该文件未被跟踪并被忽略。
这意味着所有共同贡献都是在一个template文件., 用来generate实际文件(作为私有的非版本化文件,添加到您的.gitignore
).
那一代人将自动开启git checkout
.
首先,重命名现有文件:
git mv aConfigFile aConfigFile.tpl
git commit -m "record template config file"
然后添加到aConfigFile
to a .gitignore
文件:一个git status
不会再显示要添加/更改的内容。
现在,声明一个污点内容过滤器驱动程序这将自动重新生成该文件(被忽略,因为它位于.gitignore
)
(image from "Customizing Git - Git Attributes", from "Pro Git book")
smudge
脚本(您可以版本):YourScript
copy aConfigFile.tpl aConfigFile
在版本化中声明内容过滤器驱动程序.gitattributes
:
echo 'aConfigFile.tpl config' >> .gitattributes
每个克隆该存储库的用户都需要在本地激活该污迹“配置”内容过滤器驱动程序。
cd /path/to/repo
git config filter.config.smudge YourScript
最后一步是每个用户唯一需要执行的步骤,以便从每个用户上自动生成的实际配置文件中受益。git checkout
.
对生成的文件所做的任何修改都将保留在本地。