A helper to get the current git version of the application
A helper class to get the current git version of the project.
Expects either a
version file to exist in the
base_path() of your project
containing a version string, or the
git binary to be available.
This is my own for to match my needs Originally initiated by @tremby Consider contribute to his version.
This package works with both Laravel 4 and 5.
Require it in your Laravel project:
composer require okaufmann/laravel-git-version
Install the service provider by adding it to your
'providers' => [ ... Tremby\LaravelGitVersion\GitVersionServiceProvider::class, ],
You can get the git version string with
Or you can get your app name and version number such as
Also, you can get the latest commit hash by calling this method:
getHash() method gets an integer which is the length of commit hash. If it's null,
getHash() returns full width.
The app's name is taken from
Config::get('app.name', 'app'), so you can
configure it in your
config/app.php file or leave it as the default of
On releasing a new version of you app run the following commands to tag a new version and create a file with the correct version info:
git tag v0.0.3 php artisan version:bump
A view is provided which just outputs an HTML comment with the return value of
getNameAndVersion(). I like to include this in the main layout template of the
The view is available:
Ensure your git tags are pushed to your servers so that the versions are described properly.
During development and possibly in staging environments
allow the version to be determined automatically
(this is done via
As part of your production deployment procedure,
version file (perhaps via a command like
git describe --always --tags --dirty >version,
since this is the command this package would run otherwise).
version file exists the package will use its contents
rather than executing
git, saving some processor and IO time.
/version to your
so your working tree stays clean and you don't accidentally commit it.
Or you commit it and let the application use the version from the file (e.g. you just bump tags)