36

I have a tracked file in a git repository. How do I untrack this file without deleting it using magit?

3 Answers 3

25

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

8
  • Note that you don't need to add it to the gitignore file. Just discard(I believe by default "k") changes on gitignore after i.
    – deadghost
    Commented Feb 17, 2015 at 14:51
  • Discarding (using 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, hit g in the magit buffer to refresh the contents and you will see that file appear once again in the Unstaged section. Commented Feb 17, 2015 at 14:56
  • I mean discarding the changes on .gitignore.
    – deadghost
    Commented Feb 17, 2015 at 14:58
  • Alright, I now get what you are saying. First hit i on the file you want to untrack and then hit k 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 :) Commented Feb 17, 2015 at 15:01
  • 3
    If you don't need to add the file to gitignore, use K (that's uppercase k). Commented May 5, 2016 at 16:26
23

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

2
10

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).

1
  • In spacemacs this is bound to X.
    – mcp
    Commented Mar 15, 2022 at 21:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.