Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git:为文件拉取新更改,但忽略本地更改_Git - Fatal编程技术网

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忽略本地文件中的更改。不确定在添加跟踪文件时如何解决冲突。