我一直在网上阅读,但仍然有点困惑。在为我的本地设置运行以下配置之后。将来我还需要为任何项目创建gitignore吗?
git config --global core.excludesfile %USERPROFILE%.gitignore
是否有一种方法可以设置一个动态配置,其中文本文件将与当前的更改更新?
core.excludesfile
的工作方式类似于.gitignore
文件,但它具有不同的目的。.gitignore
文件是特定于项目的,它被设计成包含项目想要忽略的各种东西,通常是因为它们是构建产品。例如,用C编写的项目可能想要忽略构建的二进制或共享库,以及任何匹配*.o
或*.obj
的文件。这些是你项目的每个用户都想忽略的东西。
core.excludesfile
是为您个人想要忽略的模式设计的。例如,如果您使用Vim,您可能希望忽略交换文件,这样您就不会意外地检入它们。由于人们使用许多不同的编辑器,忽略每个项目中每个不同类型的编辑器文件是没有意义的,所以这是一个忽略编辑器备份文件、标签文件和类似东西的机会。
还有第三组配置,在.git/info/exclude
中。因为它在.git
目录中,所以它是特定于项目的,但它不是共享的。当您需要为您的本地系统修改项目的include模式时,它适用于与其他系统无关的方式。例如,我有一个项目,我有一个dotfile来帮助我的编辑器找到项目的真正根,这个文件是特定于我的配置的。
所以要回答你的问题,你仍然应该为你的项目编写.gitignore
文件,如果他们有构建产品或其他项目特定的数据可以忽略。没有办法动态或自动地配置模式,但通常不需要这样做。
注意,在您的例子中,您需要将模式写成~/.gitignore
。Git不扩展配置文件中的环境变量,但通常~
(代表主目录)会匹配USERPROFILE
环境变量的值。