试图了解.gitignore
文件是如何工作的:它们是只在您推送到分支时才忽略文件,还是在master上更新了相同的文件后也会忽略这些文件,并且您希望提取这些更改?我知道它的工作方向是一个:当我想推送到远程分支时,我想知道它是否在相反的方向上工作:当我想要从远程分支提取gitignore-d文件的更改时。
.gitignore
不是这样工作的。.gitignore
文件的唯一任务是防止将它们添加到暂存区域。因此,如果你尝试
git add file.txt
并且.gitignore
文件中提到了file.txt
,您将得到一个错误:
The following paths are ignored by one of your .gitignore files:
file.txt
Use -f if you really want to add them.
您可以使用-f
标志,如错误消息中所述,以任何方式添加文件:
git add -f file.txt
这也意味着已经被Git跟踪的文件不再受.gitignore
文件的影响。更多关于这一点:如何制作Git"忘记";关于一个被跟踪但现在在.gitignore中的文件?