我应该将dll和生成的bin文件提交到GitHub上的存储库还是忽略它们?

时间:2016-11-24 03:08:41

标签: git github version-control repository

我在GitHub上使用私有存储库来开发项目。问题是,每次我提交时,我都没有手动修改过的一堆bin文件也会被提交。如果我忽略它们,那么当其他人拉动或克隆回购时会导致任何问题吗?另外,如果你能给我任何最佳实践,那么提示会很棒。

enter image description here

在这个提交上,例如我只修改了大约8个文件,但是有44个更改被推送到repo。其中大多数是bin文件。

2 个答案:

答案 0 :(得分:2)

如果dll文件和bin文件是构建项目的输出,则无需提交它们,您可以通过.gitignore文件忽略它们对任何人都没有影响使用回购。

如果dll文件是用于支持项目某些功能的第三方文件,则最好将它们放在版本控制列表中。

答案 1 :(得分:1)

如果这些文件以前从未提交过,但是是索引的一部分,则需要重置它们(从索引中删除它们)

git reset *.dll
git reset *.mdb
git reset *.apk

(如果之前有过承诺,请参阅“Ignoring files”)

然后你可以将它们添加到.gitignore

*.dll
*.mdb
*.apk

使用git状态检查这些文件是否已不再列出。

最后,您可以git add -Agit commit

忽略生成的文件不会成为其他用户的问题:他们将从回购的来源重建它们。

关于dll,最好只包含NuSpecnuget.config,它将声明从Nuget获取所需dll所需的内容。
另请参阅The right way to restore NuGet packages中的“David Ebbo”和Nuget automatic restore