LoginSignup
3
2

More than 5 years have passed since last update.

gitで特定のファイルの変更を無視する

Posted at

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しても変更してない事になっているんだ!!!という事態になる事があるので注意。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2