• ..

git

    このファイルは git 管理されてるけど変更は入れちゃだめだし、どうするかももう聞かれたくない時

    設定ファイルなどで良く起こるんじゃないかなと思います。ローカルでだけデーターベースの接続先情報を変更したりだとか、環境変数をローカル開発用にするとか色々。
    git checkout <file-name>とかgit add <...file-name>してgit reset --hardすればいいだけなんだろうけど、やらなくていい方法があるならそれがいいので調べました。

    .gitignore に入れずに管理対象外にする

    これだけのコマンドでできました。

    git update-index --assume-unchanged <...file-name>

    <...file-name>には管理対象外にしたいファイルのパスを羅列すればいいです。これでgit statusからしばらく消し去ることができました。

    一時的に管理対象外にしたファイルを再度管理対象にする

    わざわざ対象外にした設定ファイルなどに変更を入れたくなった場合、以下のコマンドで再度管理対象にできます。

    git update-index --no-assume-unchanged <...file-name>

    またgit statusに現れるようになりました。

    というか update-index ってなんだろう

    インデックス管理を専門にしたコマンドみたいです。例えばgit add ...という頻繁に使うコマンドはgit update-index --add ...のエイリアスのようです。