2

EGitEclipse 4. 到目前为止工作正常。但是,当我尝试配置要使用的Android项目时EGit,我遇到了问题.gitignore:我无法/binGit. 无论我是编辑.gitignore还是使用 UI 界面。

我知道您必须show将文件排除在外,因此要更改Filter...视图以显示隐藏文件和空目录(如本项目中的资产)。

但无论我做什么,/bin都不能排除EGit. 它在提交之前获得星形图标,并将被包括在内。

有任何想法吗 ?

4

6 回答 6

3

我在.gitignore文件中的内容未被忽略(使用 Egit 和 Eclipse)时遇到了问题。事实证明,当它们被添加到文件时,已经在索引中的.gitignore文件不会被忽略,也不会被忽略它们所在的目录。即使它们从未被提交也是如此。添加到这些目录的新文件被忽略。刷新项目并没有帮助,但是一旦从索引中删除它们,它们就会自动被忽略,整个目录也一样。在(在项目\存储库的根目录中)添加bin/一行应该可以排除任何(位于或低于该级别的子目录)应该有效,但如果文件在索引中或曾经提交过,则不会。.gitignorebin.gitignore

如果在目录下的文件已添加到索引但未提交时删除目录,也会出现一些奇怪的行为。它保留在提交框中。

于 2012-08-21T17:47:01.340 回答
1

我找到了两种解决方法:

1)共享项目后,我没有添加所有文件(通过单击项目上的团队/添加到索引),而是添加所有子目录(如 src 和 res)和所有相关文件(如 androidmanifest.xml)。这样,EGit 永远不想包含 /bin 和 /gen。

2)添加所有内容后,在第一次提交时,我取消选中所有“bin”文件。有趣的是,在第一次提交之后,我可以通过团队排除 bin / 从索引中删除“然后,无论 bin 文件没有被签入。

于 2012-08-05T10:36:37.923 回答
1

我的解决方案:

  1. 禁用自动构建
  2. 删除 bin 和 gen 文件夹
  3. 提交并推送更改以删除远程存储库上的 bin 和 gen
  4. 手动构建项目
  5. 也许从索引中删除文件夹并将它们添加到 gitignore
  6. 提交并推送更改
  7. 启用自动构建,如果你想
于 2014-08-30T09:38:24.600 回答
0

首先,我在协作使用 Egit 时发现了以下导致问题:/bin /gen

第一个问题是清理项目会重新生成这些文件夹中的文件,然后看起来需要新的提交。由于仅仅因为这些文件更改而再次提交很烦人,我想忽略该文件夹。第二个问题是这些文件在每个团队成员的计算机上重新生成,并且再次需要新的提交。

为避免每次清理项目时都必须提交,请忽略这些文件夹。这也恰好是这篇文章问题的答案。

要删除这些文件夹并停止跟踪,请在 Eclipse 中按照以下步骤操作;它总是对我有用!

  1. 右键单击项目 -> 团队 -> 提交(确保全选)
  2. 窗口中的项目选项卡 -> 取消选择“自动构建”
  3. 右键单击 /gen -> 团队 -> 忽略
  4. 右键单击 /gen -> Team -> 从索引中删除
  5. 为 /bin 执行 3-4
  6. 右键单击项目 -> 团队 -> 提交(确保全选)
  7. 窗口中的项目选项卡 - >选择“自动构建”
  8. 项目将重建并重新生成丢失的文件夹
  9. 右键单击项目 -> 团队 -> 提交(应该只添加一个 .classpath 文件)
  10. 应该是这样!

希望这可以帮助!

于 2014-01-29T18:24:37.793 回答
0

如果“首选项 > 团队 > Git > 项目 > 自动忽略派生资源”已打开,EGit 应自动将构建生成的资源条目添加到 .gitignore

于 2015-11-13T00:25:42.933 回答
0

bin 和 gen 等自动构建文件可以对抗 egit 的两步提交机制。在您忽略它们之前,它们会被跟踪提交。

如前所述,只需关闭自动构建并删除存储库中不需要的任何内容。提交这些删除以永久删除它们。我认为这就是混乱所在 - 必须提交删除或文件永远保留在 repo 中。

当自动构建过程中再次出现任何内容时,git-ingore 它不会被跟踪提交。Git 的两阶段提交相当低级,但这就是它的优势。以这种方式克服 eclipse autobuild 就是证明。请注意,此问题不涉及跟踪丢失,而是跟踪过多!

于 2015-10-02T15:25:14.203 回答