Subject: Removing files

From: David Kågedal <[email-masked]>
Date: Thu, 11 Jan 2007 21:10:20 +0100

I'm wondering what the best way to commit the removal of a file is.

Let's assume that I have a file "foo" in my tree, that I have removed
from my working tree (e.g. by using patch -E).

git status shows:

  $ git status
  # On branch refs/heads/messages
  # Changed but not added:
  #   (use "git add <file>..." to incrementally add content to commit)
  #
  #       deleted:    foo

Ok, so I try to follow the instructions in the message:

  $ git add foo
  fatal: pathspec 'foo' did not match any files

Ok, so that didn't work.  Let's try rm instead:

  $ git rm foo
  fatal: pathspec 'foo' did not match any files

Hm, something is wrong here.  But hey, there's a -f option to rm that
claims to prevent the "up-do-date check"

  $ git rm -f foo
  fatal: pathspec 'foo' did not match any files

Finally, I have to resort to using update-index.

  $ git update-index --remove foo
  fatal: pathspec 'foo' did not match any files

Since I believe that the idea is to move to an interface where you use
e.g. "git add" instead of explicitly mentioning the index, I think
this is bad.

What could be the correct command for this situation.  Some suggestions:

  $ git add foo
  $ git add --remove foo
  $ git rm foo
  $ git rm -f foo

-- 
David Kågedal