如果.gitignore忽视自己怎么办?它对“git fetch”有影响吗?

时间:2015-03-01 07:01:59

标签: git gitignore git-fetch

假设这个场景

  1. 某些源代码和一些elf二进制文件的git服务器
  2. 此服务器没有.gitignore个文件。
  3. 我不知道将哪个新的二进制文件添加到git服务器
  4. 每次构建代码时,都会创建一些新的elf二进制文件。
  5. 由于没有.gitignore文件,因此构建后,我无法git fetchgit pull,因为git会宣传changes not committed
  6. 所以我想解决这个问题,但我不能只用.gitignore制作一个*.elf,因为有一些elf文件是用git服务器发布的。

    当然我不能告诉.gitignore不要忽略git服务器发布的这些elf文件,因为将来可能会有一些新的elf二进制文件添加到git服务器

    那么,如果我创建忽略自身的.gitignore,那么它将不会被推送到git服务器,但会影响我的git fetch进程吗?如果服务器和本地计算机中存在两个不同的.gitignore规则,哪个规则git fetch会遵守?

    我怎样才能解决我的问题?

1 个答案:

答案 0 :(得分:3)

首先,停止在存储库中存储二进制文件。 Git旨在跟踪源代码更改,而不是二进制文件中的更改。

其次,实际上有三个位置被忽略要跟踪的文件:.gitignore(本地项目),.git/info/exclude(本地项目,不公开),以及全局排除文件,适用于所有Git项目。您的个人.git文件夹中的任何内容都不会在上游共享,因此您可以随意在该文件中添加您喜欢的任何排除项,以便它们不会在其他任何位置传播。

您似乎不希望创建.gitignore文件,因为您希望避免删除ELF文件的风险,但欢迎您将此排除添加到您的本地{ {1}}档案。