Question

Using the Egit plugin, is it possible to permanently remove a file from source control without deleting the local copy?

I.e., is there a GUI action equivalent to running "git rm --cached"?

(Edited to simplify question)

Was it helpful?

Solution

I have found the answer. Team->Untrack is indeed the equivalent of "rm --cached". However there is a known bug which produces weird behaviour when you untrack and then try to commit.

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

OTHER TIPS

Team -> Advanced -> Untrack

did the job (git rm --cached) for me.

I had the same problem, after not initially including directories and files in .ignore. I also tried "Untrack" and "Remove from index" possibility, non of which helped(due to the still unresolved Egit issue). So, in the end I deleted files locally (leaving the project all in bugs), committed and pushed it to the github, and then undid the delete locally and added files to .ignore. Very unelegant, but it worked. I lost a lot of time and nerves on it, and I hope this helps someone.

Another option, similar to what Sri Sankaran suggests in the comments, is to update the index in order to assume no modification to your config file:

On the preferences, in Egit, you can list "assumed unchanged" files :

assume unchanged

The file remains versioned and on the disk, but no modification will be detected on it.

If you need to delete invisible folder(or file) from eclipse project:

  1. Add folder(or file) to .gitignore file;
  2. Replace folder to another directory
  3. Team add to index, commit and push
  4. Replace folder(or file) to the project folder
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top