biurad / git-scm
Library for working with Git repository & Git services in PHP.
Fund package maintenance!
Patreon
biurad.com/sponsor
Requires
- php: ^8.0
- psr/log: ^1.0 | ^3.0
- symfony/process: ^6.0
Suggests
- ext-fileinfo: Required to determine the mimetype of a git commit blob
- psr/log: Required to use loggers for reporting of execution
This package is auto-updated.
Last update: 2024-12-21 10:04:51 UTC
README
The Poakium Git-SCM
A lightweight PHP library for working with Git Source Control Management (SCM). It is a simple, easy to use, and powerful tool for managing your Git repositories.
π¦ Installation
PHP 8.0 or newer and GIT 2.30 or newer are required. The recommended way to install, is by using Composer. Simply run:
$ composer require biurad/git-scm
π Quick Start
This library is just a simple wrapper for GIT shell commands and parses the output so you can use it in your PHP code. The performance is not as good as Git, but it is still fast enough to be used in production.
Here is an example of how to use the library:
use Biurad\Git; $repo = new Git\Repository('/path/to/repository'); $repo->commit(new Git\CommitNew( message: new Git\Commit\Message('My commit message'), author: $repo->getAuthor()->setDate('Tue, 06 Sep 2022 07:21:10') )); // Stage all changes and commit them $repo->getLog()->getCommits(); // Get all commits $repo->getLastCommit(); // Get the newest commit $branches = $repo->getBranches(); // Get all branches $tags = $repo->getTags(); // Gt all tags
π Documentation
In-depth documentation on how to use this library can be found at docs.biurad.com. It is also recommended to browse through unit tests in the tests directory.
π Sponsors
If this library made it into your project, or you interested in supporting us, please consider donating to support future development.
π₯ Credits & Acknowledgements
- Alexandre SalomΓ© developed the gitonomy/gitlib library which inspired this library.
- Divine Niiquaye Ibok is the author this library.
- All Contributors who contributed to this project.
π License
Git SCM is completely free and released under the BSD 3 License.