git status
をしたときに、こんな表示がありました。
% git status
On branch master
Your branch is up-to-date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
typechange: foo/bar/baz/hoge.rb
no changes added to commit (use "git add" and/or "git commit -a")
ちなみに、 git status -sb
を使っている場合、以下のようになります。
% git st
## master...origin/master
T foo/bar/baz/hoge.rb
What does "T" mean in "git status"? (it isn't in the man page) - Stack Overflow
man git-diff-files
をみてみます。
% man git-diff-files
…
--diff-filter=[(A|C|D|M|R|T|U|X|B)...[*]]
Select only files that are Added (A), Copied (C), Deleted (D), Modified (M), Renamed (R), have their type (i.e. regular file, symlink, submodule,
...) changed (T), are Unmerged (U), are Unknown (X), or have had their pairing Broken (B). Any combination of the filter characters (including none)
要は普通のファイルがシンボリックリンクになったり、同じファイル名で種類が変わるとtypechangeとなるようです。