2011-11-23 130 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

相關問題