Help us understand the problem. What is going on with this article?


タイトルの通りなのですが、gitは環境によって、git initgit clone時に、リポジトリのファイル名の大文字小文字の検出オプション(core.ignorecase)をtrueにすることがあります。



macOS の場合 (APFS 大文字小文字区別なし)

# 環境作成
$ mkdir gittest
$ cd !$
$ git init .

# テスト。たしかに true になっている
$ git config -l --local | grep ignorecase

# 設定ファイルも見てみる。たしかに設定されている。
$ grep -Hn ignorecase .git/config
.git/config:6:  ignorecase = true

Ubuntuの場合 (ext4 大文字小文字区別あり)

# Vagratで環境セットアップ
$ vagrant init ubuntu/trusty64
$ vagrant up 
$ vagrant ssh

$ sudo -i
$ apt-get update && apt-get install -y git
$ mkdir gittest
$ cd !$
$ git init .

# テスト。ignorecaseの記述はない。
$ git config -l --local | grep ignorecase

# 設定ファイルにもない
$ cat ~/.git/config
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true


Windowsの場合 (NTFS 大文字小文字区別なし)

REM 環境作成
$ mkdir gittest
$ git init .

REM テスト。たしかに true になっている。
$ git config -l --local | find "ignorecase"

REM (設定ファイルは省略)

Special Thanks

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away