Ocultando keys de API en AngularJS y NodeJS y presionando a Git y Heroku

Estoy usando keys API en mis files AngularJS y NodeJS, con el objective final de enviar mis files de aplicación a Git y Heroku. Sin embargo, no quiero que estas keys sean públicas. ¿Cómo hago para ocultar estas llaves? He escuchado a personas decir que los pongan en un file oculto en el server y nunca en el lado del cliente. Si ese es el caso, ¿cómo puedo acceder a una key de API que almaceno en el lado del server desde el lado del cliente de Javascript?

Además, cuando envío mis files a Git y Heroku, ¿simplemente pongo esos files ocultos en .gitignore para que sean solo mi sistema local, o hay otras forms de abordar esto? ¿Cuál es la mejor solución?

su mejor apuesta aquí es escribir un par de factores desencadenantes locales que

pre-push: quitar / borrar las teclas post-push: volver a colocarlas

de lo contrario, lo que deseas no es realmente parte del área de interés de git

LEE MAS

Si desea implementar desde su máquina local:

comprometer cualquier dato a su repository (falso, por supuesto, o no cometer ninguno en absoluto).

Ahora use la bandera assume-unchanged y marque el file como no modificado y no será rastreado. https://git-scm.com/docs/git-update-index

– [no-] asumir-sin cambios

Cuando se especifica este indicador, los nombres de los objects registrados para las routes no se actualizan.

En cambio, esta opción establece / desactiva el bit "asumir sin cambios" para las routes.

Cuando el bit "asumir sin cambios" está activado, el usuario promete no cambiar el file y permite que Git suponga que el file del tree de trabajo coincide con lo que está grabado en el índice. Si desea cambiar el file de tree de trabajo, debe deshacer el bit para decirle a Git. Esto a veces es útil cuando se trabaja con un gran proyecto en un sistema de files que tiene una llamada al sistema lstat (2) muy lenta (por ejemplo, cifs).

Git fallará (correctamente) en caso de que necesite modificar este file en el índice, por ejemplo, al fusionarse en una confirmación; por lo tanto, en caso de que el file asumido no rastreado se cambie en sentido ascendente, deberá manejar la situación manualmente.

enter image description here