Get Git Head via PHP script

Sometimes it’s interesting to  get the hash of the head of the current git repository, with it you can check if you are running an up-to-date version or postfix it in URLs with ‘?version=(hash)’ so you won’t have problems with browser/proxies caches.

Bellow is a snippet that either returns the hash of the branch, by default master, or false in case you aren’t running the project with a git repo.

 

<?php
/**
 * Get the hash of the current git HEAD
 * @param str $branch The git branch to check
 * @return mixed Either the hash or a boolean false
 */
function get_current_git_commit( $branch='master' ) {
  if ( $hash = file_get_contents( sprintf( '.git/refs/heads/%s', $branch ) ) ) {
    return trim($hash);
  } else {
    return false;
  }
}
?>

 

Sources:

https://gist.github.com/stevegrunwell/3363975