¿Por qué el file en gitignore se modificará después de comstackr el estudio de Android?

Tengo un file llamado VersionUtil y lo configuré en gitignore. En el file gitignore, tengo

# Git info app/src/main/java/com/test/util/VersionUtil.java 

Antes de ejecutar el proyecto en Android Studio, hay una línea de código en VersionUtil.java:

 public static final String COMMIT_INFO = "info". 

Corrí el estado de Git y me devolvió

 Your branch is up-to-date with 'origin/develop'. 

Sin embargo, después de ejecutar el proyecto, se modificó VersionUtil.java. Esa línea es:

 public static final String COMMIT_INFO = "6a604 XXXXX ". 

El estado de git devuelto

 modified: app/src/main/java/com/test/util/VersionUtil.java 

tienen alguna idea? ¿Por qué el file en gitignore aún se está rastreando? Cualquier ayuda sería apreciada.

Un file .gitignore solo afecta a los files sin .gitignore . Los files que ya están rastreados no se ven afectados de ninguna manera por un file .gitignore . Esto significa que si un file ya está bajo control de versión y luego se agrega al .gitignore más tarde , entonces Git no comenzará a ignorar el file ya rastreado.

Para citar la página de manual (énfasis mío):

Un file gitignore especifica intencionalmente files sin seguimiento que Git debe ignorar. Los files ya rastreados por Git no se ven afectados […].

[…]

  • El propósito de los files de gitignore es garantizar que ciertos files no rastreados por Git permanezcan sin seguimiento .

  • Para ignorar los cambios no confirmados en un file que ya está rastreado , use git update-index --assume-unchanged .

  • Para detener el seguimiento de un file que actualmente se rastrea, use git rm --cached .

La segunda alternativa sugerida podría ser el path a seguir:

 git update-index --assume-unchanged app/src/main/java/com/test/util/VersionUtil.java 

Alternativamente, puede eliminar el file (ya sea físicamente o solo desde el control de la versión). Después de eso, el file .gitignore debería ser efectivo:

 git rm --cached app/src/main/java/com/test/util/VersionUtil.java git commit -m'Remove VersionUtil.java from version control'