Git:为文件拉取新更改,但忽略本地更改
我想知道是否有办法继续跟踪远程分支上的特定文件,但让您的本地计算机忽略您对其所做的任何本地更改(例如,配置文件或类似文件)。我使用Git:为文件拉取新更改,但忽略本地更改,git,Git,我想知道是否有办法继续跟踪远程分支上的特定文件,但让您的本地计算机忽略您对其所做的任何本地更改(例如,配置文件或类似文件)。我使用.template文件 您可以将带有.template后缀的配置文件存储在存储库中,并创建不带后缀的本地配置文件(并将其添加到.gitignore) 例如,在你刚刚克隆了回购协议之后 $ git clone my_repo $ ls myconfig.conf.template .gitignore (and .gitignore contains myconf
.template
文件
您可以将带有.template
后缀的配置文件存储在存储库中,并创建不带后缀的本地配置文件(并将其添加到.gitignore)
例如,在你刚刚克隆了回购协议之后
$ 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
文件
您可以将带有.template
后缀的配置文件存储在存储库中,并创建不带后缀的本地配置文件(并将其添加到.gitignore)
例如,在你刚刚克隆了回购协议之后
$ 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
文件,它将派上用场。您将设置一个smudge
过滤器,用于引入工作副本中的更改,并设置一个clean
过滤器,该过滤器在任何git diff
或git add
之前运行
clean
过滤器会将文件恢复到默认状态,smudge
过滤器会根据需要修改文件
不久前我也有类似的需求,从那以后我就开始使用过滤器了()。如果你不打算使用
。模板文件将派上用场。您将设置一个smudge
过滤器,用于引入工作副本中的更改,并设置一个clean
过滤器,该过滤器在任何git diff
或git add
之前运行
clean
过滤器会将文件恢复到默认状态,smudge
过滤器会根据需要修改文件
不久前我也有类似的需求,从那以后我就开始使用过滤器了()。冲突呢?这需要一些研究,但您可以通过.gitignore和.git/info/exclude忽略本地文件中的更改。不确定在那里添加跟踪文件时如何解决冲突。冲突呢?需要进行一些研究,但您可以通过.gitignore和.git/info/exclude忽略本地文件中的更改。不确定在添加跟踪文件时如何解决冲突。