2011-11-23 132 views
17

使用Egit插件,是否可以从源代码管理中永久删除文件而不删除本地副本?Eclipse Git插件 - 从回购库中删除文件而不删除本地文件

也就是说,是否有一个相当于运行“git rm --cached”的GUI操作?

(编辑,以简化问题)

+1

Untrack我以为意味着找不到更改。为什么不直接删除文件,然后提交将其从上游回购库中删除? –

+0

我不想在本地删除文件,我想阻止它们被拉动覆盖。删除和重新创建不是一种选择,因为某些文件和文件夹是Force.com IDE不允许删除的文件和文件夹。 – naomi

+1

尽管它不会从存储库中删除**文件,但在这方面,“假设不变”设置(Team> Advanced)应该有所帮助。请注意此设置的细节(请参阅http://schacon.github.com/git/git-update-index.html)。 –

回答

13

我找到了答案。 Team-> Untrack确实相当于“rm --cached”。但是,有一个已知的错误会在您未找到并尝试提交时产生奇怪的行为。

https://bugs.eclipse.org/bugs/show_bug.cgi?id=363405

+0

如何以优雅的方式解决它?谢谢 – yee

+0

我不能。因为这个和其他一些bug,我停止使用EGit。然而那是一年前的事情,所以Egit开发者现在可能已经改进了它。 – naomi

+2

@naomi Nope。在四月份,似乎他们认为这太难了,不会试图修复它。 – EdGruberman

0

另一种选择,类似于Sri Sankaran暗示的意见,是为了更新索引,以不承担任何修改你的配置文件:

的喜好了,例如:It中,你可以列出“假定不变”的文件 :

assume unchanged

文件保留版本,并在磁盘上,但不能修改为d对它进行检测。

+0

谢谢 - 虽然我找不到那套喜好,但它们在哪里? – naomi

4

我有同样的问题,而不是最初包括.IGNORE目录和文件后。我也尝试过“Untrack”和“从索引中删除”的可能性,其中非帮助(由于尚未解决的Egit问题)。 因此,最后我在本地删除文件(将项目全部留在bug中),提交并将其推送到github,然后取消本地删除并将文件添加到.ignore。 非常不雅,但它的工作。 我失去了很多时间和神经,我希望这可以帮助别人。

3
Team -> Advanced -> Untrack 

为我完成了这项工作(git rm --cached)。

+0

对于那些对此解决方案感兴趣的人...在上述步骤之后,只需提交并推送到您的远程,它应该可以工作就像一个魅力..良好的答复,非常感谢! – labheshr

相关问题