Android StudioのPreview版を使っていると、
Instunt runを使うために
Instant Run requires a newer version of the Gradle plugin.
と言われてアップデートしてねと言われてアップデートされる。
けども、まだalpha1とかなので、それはコミットしたくない。
そのまま使いながら開発してると、それがdiffとして出てきてしまうので、出さないようにしたかった。
参考
http://qiita.com/usamik26/items/56d0d3ba7a1300625f92
設定
git update-index --assume-unchanged build.gradle
git update-index --assume-unchanged app/build.gradle
解除
git update-index --no-assume-unchanged build.gradle
git update-index --no-assume-unchanged app/build.gradle
具体的にどのファイルをの更新を無視する必要があるのかは、環境によって違うかもしれない。
現在assume-unchanged
なファイルがあるかどうかは以下で確認出来る
git ls-files -v | grep ^h
assume-unchangedとskip-worktreeの違いについて調べてみようとして、
実際にbuild.gradle
が更新されるmergeを行ったのだけども、
どちらのケースも同じような以下のメッセージが出たので違いがよくわからなかった。
僕のテスト方法がダメだったのかもしれない。
error: Your local changes to the following files would be overwritten by checkout:
build.gradle
Please, commit your changes or stash them before you can switch branches.
Aborting
まぁ、参考したqiitaの説明をよむ感じだとassume-unchanged
を使っとくのが無難な気がするのでそうしとこうという感じ。
そして、たまにこの設定をしているのを忘れていて、build.gradleを修正したはずなのに、何でgit diffしても変更してない事になっているんだ!!!という事態になる事があるので注意。