There are cases which cannot happen with Linux, but could happen when you use Git in windows:

e.g.

In remote Git repo contains 2 files:

Log.c and log.c

When you clone the repo using Git windows, you will only have log.c in your working copy, but when you issue git status,

it will always tell you a modified, unstaged, Log.c

So it is a BAD PRACTICE to have 2 files with the same(only case-different) name. This is NOT cross platform.

To delete either one from the remote repo, you can use a Linux machine, or, use following steps on Windows: (In this example, rm Log.c)

Steps

  1. git mv Log.c CASESENSITIVE.c
  2. git commit -m “xxx”
  3. git reset –hard HEAD
  4. git rm CASESENSITIVE.c
  5. git commit -m “xxx”