我一直都在学习.gitignore文件,但是有一个我想解决的问题。 .gitignore应该包含您要忽略的所有文件。因此,您应该忽略由OS,正在使用的IDE生成的文件...当存储库位于Github上并且人们可以克隆它并推送更改时,会出现我的问题。这些人可以使用其他操作系统,也可以使用其他IDE。因此,gitignore应该忽略其他OS和IDE生成的文件。
您应该怎么办?是否必须用gitignore编写所有操作系统生成的所有IDE生成的所有文件?
存储库位于Github上,人们可以克隆它并推送更改
这是您放置某种质量门的地方,例如代码审查。它们仅用于讨论,而其他一些眼睛则关注这些变化。查看差异,您会发现其他无用的东西,例如IDE文件。然后,您请贡献者将其删除并重新提交。
[对于大多数OSS,我认为维护者具有一个存储库,该存储库由贡献者克隆/分支,当他们想要进行更改时,他们进行PR。因为您通常不希望anybody更改代码,所以您将写权限限制为您信任的对象,因此其他人不能直接将其推送到主存储库。
在较小的项目中,您知道所有贡献者,仍然有机会不小心引入不需要的文件,因此,在合并到主流之前,您仍然需要进行代码审查之类的原因。
无论哪种方式,这都是一个过程问题,不一定是git
问题。视情况而定。和其他重复性工作一样,当您注意到一种模式时,请对其进行自动化。
您对必须考虑可以做出贡献的任何人的所有系统感到有些害怕,但是您不必这样做。
.exe
,.dll
,因此您可以将它们添加到.gitignore
文件中。