SourceTreeでGitを使っていて、ソースはもちろんのことファイル名を変更したときでも、変更を検知してくれるのだが、ファイル名の小文字を一部大文字にしただけでは検知されなかったので備忘録。
ネットでしらべたらgitのconfigでcore.ignorecaseがデフォルトではtrueになっているので、falseに変更したらいいとのこと。
しかしどれを直すか解らない。
私の場合、開発環境は自席PCで、Gitサーバと、本番へフックする環境(←自分でもよく解ってない)の3つがあるので、どれを直していいのか解らなかった。
普通に考えて自分が触っているソースにある.gitの中を触ればいいのだと思ったのだが、PCにgitが入っていないせいかgitコマンドが動かない。なんだろな。
次にサーバ側を疑ってリモートして向こうの設定を直してしまったのだが結局は直らなかった。まぁ大事には至らなかったのでいいのだが。
それから数ヶ月後。ようやく解明した。
SourceTreeの右上にある設定の歯車ボタンをクリックして、下にある設定ファイルを編集から適当なテキストエディタを選べばあら不思議、configが出てきたではありませんか。
確かにここのignorecaseがtrueになっていたので、falseに直して更新。
SourceTreeをF5で更新すると、ファイル名の大文字小文字を変更したものまで、検知してくれるようになった。
変更の更新を検知するのだから当然自席の環境のgitファイルの話ですよね。考えるまでもありませんでしたが、何をとち狂ったかリモート側を見るとか変なことをしていました。
gitをPCにインストールしていたらgitコマンドで直していたのだと思いますが、SouceTreeに入っているgitを使っていたせいか、コマンドが使えなかったので、そういう変なことをしていました。
ちなみに、ignorecaseをfalseにしたら、「…」の変更と、「?」の新規の2つが差分として表示されてしまった。あれ?これはどっちをコミットすればいいのだ?と思ったが、2つともコミットしたところ問題なく行けた。大丈夫みたい。
何を言っているのかわからねーと思うが、おれも何をされたのかわからなかった。まさに、そんな感じでした。
これでOKめでたしめでたし。
コメント