【发布时间】:2014-05-19 19:26:23
【问题描述】:
我想知道是否有办法继续跟踪远程分支上的特定文件,但让您的本地机器忽略您对其所做的任何本地更改(例如,配置文件或类似的东西)。
【问题讨论】:
-
冲突怎么办?
-
它需要一些研究,但您可以通过 .gitignore 和 .git/info/exclude 忽略本地文件中的更改。不确定在那里添加跟踪文件时如何解决冲突。
标签: git
我想知道是否有办法继续跟踪远程分支上的特定文件,但让您的本地机器忽略您对其所做的任何本地更改(例如,配置文件或类似的东西)。
【问题讨论】:
标签: git
我使用.template 文件。
您可以将带有.template 后缀的配置文件存储在存储库中,并在没有它的情况下创建本地配置文件(并将其添加到.gitignore)
例如,在你刚刚克隆了 repo 之后,你有
$ git clone my_repo
$ ls
myconfig.conf.template .gitignore
(and .gitignore contains myconfig.conf)
克隆后,你应该复制模板文件,你可以编辑配置文件,不要伤害 repo
$ cp myconfig.conf.template myconfig.conf
$ vim myconfig.conf
【讨论】:
如果您不打算使用.template 文件,filters 会派上用场。您将设置一个 smudge 过滤器来引入您在工作副本中的更改,以及一个在任何 git diff 或 git add 之前运行的 clean 过滤器。
clean 过滤器会将文件恢复到默认状态,smudge 过滤器会根据您的需要修改文件。
前段时间我有类似的需求,从那时起就使用过滤器 (How to set a VSPROPS variable only if it does not already exist?)。
【讨论】: