我想知道是否有办法继续跟踪远程分支上的特定文件,但让本地计算机忽略您对其所做的任何本地更改(例如,配置文件或类似的东西)。
答案 0 :(得分:3)
我使用.template
个文件。
您可以在存储库中存储带有.template
后缀的配置文件,并在没有它的情况下创建本地文件(并将其添加到.gitignore)
例如,在您刚刚克隆了回购后,您有
$ git clone my_repo
$ ls
myconfig.conf.template .gitignore
(and .gitignore contains myconfig.conf)
克隆后,你应该复制模板文件,你可以编辑配置文件,不要伤害回购
$ cp myconfig.conf.template myconfig.conf
$ vim myconfig.conf
答案 1 :(得分:2)
如果您不打算使用.template
个文件,filters会派上用场。您可以设置一个smudge
过滤器,用于介绍工作副本中的更改以及在clean
或git diff
之前运行的git add
过滤器。
clean
过滤器会将文件恢复为默认状态,smudge
过滤器会根据您的需要修改文件。
前段时间我有类似的需求,从那时起使用过滤器(How to set a VSPROPS variable only if it does not already exist?)。