sebastian/git-state

Library for describing the state of a Git checkout

Maintainers

👁 sebastian

Package info

github.com/sebastianbergmann/git-state

pkg:composer/sebastian/git-state

Statistics

Installs: 3 472 287

Dependents: 2

Suggesters: 0

Stars: 14

Open Issues: 1

1.0.0 2026-03-21 12:54 UTC

Requires

  • php: >=8.4

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

BSD-3-Clause 792a952e0eba55b6960a48aeceb9f371aad1f76b

  • Sebastian Bergmann <sebastian.woop@phpunit.de>

This package is auto-updated.

Last update: 2026-06-16 05:02:32 UTC


README

👁 Latest Stable Version
👁 CI Status
👁 codecov

sebastian/git-state

Library for describing the state of a Git checkout.

Installation

You can add this library as a local, per-project dependency to your project using Composer:

composer require sebastian/git-state

If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency:

composer require --dev sebastian/git-state

Usage

test.php

use SebastianBergmann\GitState\Builder;

$builder = new Builder;
$state = $builder->build();

if ($state === false) {
 // Not a Git repository or no origin remote configured
 exit(1);
}

print $state->originUrl() . PHP_EOL;
print $state->branch() . PHP_EOL;
print $state->commit() . PHP_EOL;

if ($state->isClean()) {
 print 'Working directory is clean' . PHP_EOL;
} else {
 print $state->status() . PHP_EOL;
}
github.com:sebastianbergmann/git-state.git
main
ab00820c3757dbd30a8caa185aa4515b98713238
M README.md
?? test.php