Gitignore当前的修改但保留旧版本的回购

时间:2017-04-15 05:08:54

标签: git gitignore

我想忽略对{project_dir} / application / config / {所有配置文件和子目录}中配置文件的修改。但我希望旧版本文件和子目录在repo中,即我只是想要对几个配置文件所做的修改不要推送到repo。那么,任何人都可以告诉我如何gitignore我的配置目录,以便我在其中进行的所有更改都被忽略,而不会影响回购中的当前文件和子目录。

我在项目根目录中的.gitignore文件中尝试了这些并且它不起作用:

/application/vendor/
application/vendor
application/vendor/*
application/vendor/**

2 个答案:

答案 0 :(得分:0)

阅读您的问题,看起来您想要忽略对本地某些文件所做的更改,而可能存在上游更改。在这种情况下,您可以运行

git update-index --assume-unchanged <file>

使git忽略对文件的任何本地更改。

然后,当您想再次跟踪更改时,您可以执行以下操作:

git update-index --no-assume-unchanged <file>

请注意,如果有问题的文件通过上游提交更改,则需要在执行git pull之前运行第二个命令,否则可能会出现合并冲突。

答案 1 :(得分:-1)

.gitignore本身不会删除任何文件。在您发出git rm --cached

之前,它会忽略所有更改

我还建议你把忽略放在.git/info/exclude中,这样你的克隆就可以使用它。

无论如何,答案应该很简单(如果我理解正确的话):

/application/config/**