Q. Gradle Wrapper (gradlew) はリポジトリにコミットするの?

短い答え:コミットする。

長い答え:以下参照

Chapter 61. The Gradle Wrapper

The wrapper is something you should check into version control. By distributing the wrapper with your project, anyone can work with it without needing to install Gradle beforehand.

マニュアルにはshouldとあるが、少なくともAndroid開発においてはコミットしなくてもいいケースはない。

gradlewはローカルマシンにGradleをインストールしなくてもビルドできるようにするという側面は確かにあるのだが、GradleはAPI変化の速いプロジェクトなので、gradlewによって使用するGradleのバージョンを固定するという側面もある。

Gradle taskにはデフォルトで"wrapper"というタスクがあり、いつでもgradlewを作れるのだけど、そうやって作ったgradlewのバージョンがそのプロジェクトのビルドに適合している保証はない。またgradleのバージョン違いによるビルドエラーは経験上非常にわかりにくい。

よってgradlewはリポジトリにコミットすべきだし、gradlewのあるプロジェクトでは常にgradlew経由でGradleを使うのがよい。