Generar para script de producción

Estoy usando EncloseJS para convertir mi código de JavaScript en binary ejecutable, pero solo quiero hacerlo en producción, para esto creé un file /hooks/build-for-production , con el siguiente contenido:

 #!/usr/bin/env bash npm install gulp build enclose --loglevel info -o ./executable dist/index.js --config config.js rm !(executable) 

Por lo tanto, me gustaría confirmar si el usuario desea eliminar todo, excepto el file ejecutable. Algo como:

"Do you want remove everything?" , y si el usuario responde que es cierto, elimine todo, pero si hay elementos no comprometidos, solo aborte.

es posible? ¿Cómo verifiquen las cosas sin importar?

Además … me gustaría saber si lo que estoy haciendo es una buena práctica, y si no lo es, ¿cómo debo hacerlo?

Gracias.

Puede usar git diff --exit-code que devuelve un valor distinto de cero si hay algún cambio:

 echo -n "Do you want remove everything? (y/n)" read remove if [[ $(git diff --exit-code) -eq 0 ]];then # have no any uncommitted stuff else # have some uncommitted stuff if echo "$remove" | grep -iq "^y";then echo "Remove all stuff" else # do other fi fi