32

I tried merging with the command line for a project in Xcode and I think a file needs to be removed. It is a file that exists in the branch I was merging from, but not the branch I was merging into. The problem is it has a space in the name:

TestService/TestService copy-Info.plist

How do I remove that file? thanks!

J W
  • 868
  • 1
  • 12
  • 25

4 Answers4

58

The same way you'd use rm to remove such a file: quote the name:

git rm "TestService/TestService copy-Info.plist"

or

git rm 'TestService/TestService copy-Info.plist'

or

git rm TestService/TestService\ copy-Info.plist

Depending on your shell and the names of other files, tab completion may help with this. Typing

$ git rm TeTab

will likely complete the directory name:

$ git rm TestingService/

Then typing part of the file name and another tab:

$ git rm TestService/TeTab

will complete the filename, including an inserted \ to escape the space character:

$ git rm TestService/TestService\ copy-Info.plist

But tab completion usually only expands a unique prefix based on all the files available, so this may or may not work.

Keith Thompson
  • 254,901
  • 44
  • 429
  • 631
5

You can either quote the filename:

git rm "TestService/TestService copy-Info.plist"

Or escape the space:

git rm TestService/TestService\ copy-Info.plist
Blender
  • 289,723
  • 53
  • 439
  • 496
2

Have your tried to add quotes to the filename? "TestService/TestService copy-Info.plist" I'm not 100% sure how it works with Git.

Hoshts
  • 917
  • 7
  • 8
2

If you use Ubuntu sometimes you need to use git rm --cached -r "TestService/TestService copy-Info.plist"

Adrian
  • 21
  • 1