Guión de Git Bash para verificar si el repository tiene alguna confirmación.

Tengo un script que necesito para actuar de forma diferente en function de si hay alguno, es decir, uno o más commits. ¿Cuál es la mejor manera de hacer esto?

En pseudo código se vería algo así …

#!/bin/bash if [[ `git log_count` == "0" ]]; then echo "No commits exist for this repo." # Do stuff.. else echo "One or more commits do exist!" # Do other stuff fi 

¿Algunas ideas?

También puedes verificar el resultado de:

 git rev-parse --verify HEAD 

(después de este hilo 🙂

  1. Es un command de fontanería, por lo que es less probable que cambie su comportamiento frente a " git diff ".
  2. El parece más obvio para mí. rev-parse --verify pretende preguntar "¿es este un nombre de object válido?"

Es ligeramente diferente de tu show-ref .
La tuya pregunta "¿hay algo en refs / heads en este repository?"
La mía pregunta "¿existe la HEAD actual?"

En la práctica, ambas son testings razonables, ya que una vez que tienes una twig, es muy difícil hacer que HEAD señale algo inválido, salvo la edición manual a algún valor falso. Pero es posible que prefiera uno sobre el otro dependiendo de lo que está tratando de decir.

Lo trivial desde lo alto de mi cabeza es

 $ git log | egrep -c "^commit" 1493