EGit无法排除/ bin?

时间:2012-08-03 12:14:54

标签: android egit

我将EGitEclipse 4一起使用。到目前为止工作正常。但是,当我尝试配置Android项目以使用EGit时,我遇到了.gitignore的问题:我无法从{{/bin中排除Git分支1}}。无论我是编辑.gitignore还是使用UI界面。

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

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

任何想法?

6 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:1)

我找到了两个解决方法:

1)共享项目后,我不添加所有文件(通过单击项目上的Team / Add to index),但添加所有子目录(如src和res)和所有相关文件(如androidmanifest.xml)。这样,EGit永远不想包含/ bin和/ gen。

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

答案 2 :(得分:1)

我的解决方案:

  1. 禁用自动构建
  2. 删除bin和gen文件夹
  3. 提交并推送更改以删除远程存储库中的bin和gen
  4. 手动构建项目
  5. 可能从索引中删除文件夹并将其添加到gitignore
  6. 提交并推送更改
  7. 启用自动构建,如果您想

答案 3 :(得分:0)

首先,我在使用Egit时看到以下原因问题:     /箱     /根

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

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

要删除这些文件夹并停止跟踪,请按照Eclipse内部的步骤进行操作;它总是适合我!

  1. 右键点击项目 - >团队 - >提交(确保全部选择)
  2. 窗口中的项目标签 - >取消选择“自动构建”
  3. 右键单击/ gen - >团队 - >忽略
  4. 右键单击/ gen - >团队 - >从索引中删除
  5. 为/ bin
  6. 做3-4
  7. 右键点击项目 - >团队 - >提交(确认选择所有)
  8. 窗口中的项目标签 - >选择“自动构建”
  9. 项目将重建并重新生成丢失的文件夹
  10. 右键点击项目 - >团队 - >提交(应该只有一个.classpath文件要添加)
  11. 应该是它!
  12. 希望这有帮助!

答案 4 :(得分:0)

自动构建文件(例如bin和gen)可以对抗egit的双层提交机制。在忽略它们之前,它们会被跟踪以进行提交。

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

当在autobuild期间再次出现任何内容时,git-ingore它将不会被提交跟踪。 Git的两阶段提交水平相当低,但这就是它的优势。以这种方式克服eclipse autobuild是证明。请注意,此问题不会导致跟踪丢失,而是跟踪过多!

答案 5 :(得分:0)

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