I want to display the Git version on my site.
How can I display a semantic version number from Git, that non-technical users of a site can easily reference when raising issues?
Check your version of Git You can check your current version of Git by running the git --version command in a terminal (Linux, macOS) or command prompt (Windows).
GitVersion is a tool that generates a Semantic Version number based on your Git history. The version number generated from GitVersion can then be used for various different purposes, such as: Stamping a version number on artifacts (packages) produced during build.
Firstly, some git commands to fetch version information:
git log --pretty="%H" -n1 HEAD git log --pretty="%h" -n1 HEAD git log --pretty="%ci" -n1 HEADgit describe --tags --abbrev=0git describe --tagsSecondly, use exec() combined with the git commands of your choice from above to build the version identifier:
class ApplicationVersion {     const MAJOR = 1;     const MINOR = 2;     const PATCH = 3;      public static function get()     {         $commitHash = trim(exec('git log --pretty="%h" -n1 HEAD'));          $commitDate = new \DateTime(trim(exec('git log -n1 --pretty=%ci HEAD')));         $commitDate->setTimezone(new \DateTimeZone('UTC'));          return sprintf('v%s.%s.%s-dev.%s (%s)', self::MAJOR, self::MINOR, self::PATCH, $commitHash, $commitDate->format('Y-m-d H:i:s'));     } }  // Usage: echo 'MyApplication ' . ApplicationVersion::get();  // MyApplication v1.2.3-dev.b576fd7 (2016-11-02 14:11:22) 
                        Gist: https://gist.github.com/lukeoliff/5501074
<?php  class QuickGit {    public static function version() {     exec('git describe --always',$version_mini_hash);     exec('git rev-list HEAD | wc -l',$version_number);     exec('git log -1',$line);     $version['short'] = "v1.".trim($version_number[0]).".".$version_mini_hash[0];     $version['full'] = "v1.".trim($version_number[0]).".$version_mini_hash[0] (".str_replace('commit ','',$line[0]).")";     return $version;   }  } 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With