I have a tracked file in a git repository. How do I untrack this file without deleting it using magit?
3 Answers
Hitting i
will gitignore the file and untrack it from the git repository.
Behind the scenes, it does git rm --cached
- More info about this git command from a StackOverflow question

- 25,651
- 4
- 80
- 183
In the Magit buffer, hit K (uppercase k) on the file. It works with magit 2.3; I don't know for earlier versions.

- 331
- 2
- 3
-
-
4I feel like this should be the accepted answer for the question asked, even though the others were helpful. – salotz May 23 '16 at 21:19
Use M-x magit-file-untrack
from a buffer visiting a tracked file or from a Magit buffer. When the buffer visits a file then that file is offered as default choice.
When point is on a file in a Magit buffer, then that is also offered as default. You might also want to add the new magit-insert-tracked-files
to magit-status-sections-hook
, then a tree of all tracked files is inserted into the status buffer (but doing so might not be good for performance in big repositories).

- 25,685
- 4
- 70
- 109
k
) just reverts the file contents to its last committed state; it does not untrack it. To test it, modify the file you just discarded, hitg
in the magit buffer to refresh the contents and you will see that file appear once again in the Unstaged section. – Kaushal Modi Feb 17 '15 at 14:56i
on the file you want to untrack and then hitk
on.gitignore
. For my use case, if there's a file I want to untrack, I usually want to gitignore it too. That way my magit buffer stays clean and empty :) – Kaushal Modi Feb 17 '15 at 15:01