我将EGit
与Eclipse 4
一起使用。到目前为止工作正常。但是,当我尝试配置Android
项目以使用EGit
时,我遇到了.gitignore
的问题:我无法从{{/bin
中排除Git
分支1}}。无论我是编辑.gitignore
还是使用UI界面。
我知道您必须show
要排除的文件,因此要更改Filter...
视图以显示隐藏文件和空目录(例如此项目中的资源)。
但无论我做什么,/bin
都不能排除EGit
。它会在提交之前获得星形图标,并将包含在内。
任何想法?
答案 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)
我的解决方案:
答案 3 :(得分:0)
首先,我在使用Egit时看到以下原因问题: /箱 /根
第一个问题是清理项目会重新生成这些文件夹中的文件,然后看起来需要新的提交。因为只是因为这些文件改变而再次提交很烦人,所以我想忽略该文件夹。第二个问题是这些文件在每个团队成员的计算机上重新生成,同样需要新的提交。
为避免每次清理项目时都要提交,请忽略这些文件夹。这也恰好是这篇帖子的问题的答案。
要删除这些文件夹并停止跟踪,请按照Eclipse内部的步骤进行操作;它总是适合我!
希望这有帮助!
答案 4 :(得分:0)
自动构建文件(例如bin和gen)可以对抗egit的双层提交机制。在忽略它们之前,它们会被跟踪以进行提交。
如前所述,只需关闭autobuild并删除repo中您不想要的任何内容。提交这些删除以永久删除它们。我认为这就是混乱所在 - 必须提交删除或文件永远保留在回购中。
当在autobuild期间再次出现任何内容时,git-ingore它将不会被提交跟踪。 Git的两阶段提交水平相当低,但这就是它的优势。以这种方式克服eclipse autobuild是证明。请注意,此问题不会导致跟踪丢失,而是跟踪过多!
答案 5 :(得分:0)
如果"首选项>团队> Git>项目>自动忽略派生资源"打开EGit应自动将构建生成的资源条目添加到.gitignore