lotharthesavior / branch
PHP library for manipulations on git repository. Based on coyl/Git.php and it's forks
2.0.0
2022-10-31 03:54 UTC
Requires
- php: ^8.1
Requires (Dev)
- mockery/mockery: ^1.2
- phpunit/phpunit: ^9.5
README
Branch
Branch is a PHP Git library based on kbjr/Git.php
Description
Branch is a PHP Git repository control library. Allows the running of any git command from a PHP class. Runs git commands using proc_open
, not exec
or the type, therefore it can run in PHP safe mode.
Requirements
A system with git installed
Installation
To install via composer, you can simply run:
composer require lotharthesavior/branch
Basic Use
Open Repository
$console = new Console; $repo = Git::open($console, '/path/to/repo'); // GitRepo
Create Repository
$console = new Console; $repo = Git::create($console, '/path/to/repo'); // GitRepo
Stage Changes
$repo->add('.');
Commit
$repo->commit('Some commit message');
Clone
$localPath = 'local-repo'; $repo = 'repo-url'; $repo->clone( $repo, $localPath );
Push
$repo->push('origin', 'master');
Branches
Create
$repo->branchNew( 'name-for-the-branch' );
Get
$repo->branchGet(); // array
Get Active Branch
// Git\GitRepo; $repo; $repo->getActiveBranch(); // string
Remotes
Get
$repo->remote(); // \Git\DTO\Remote[]
Add
$name = 'name'; $address = 'url'; $type = '(fetch)'; $remote = new Remote($name, $address, $type); $repo->remoteAdd($remote);
Push
$branch = new Branch('master'); $remote = new Remote('name', 'url', '(push)'); $repo->push($remote, $branch);
Pull
$branch = new Branch('master'); $remote = new Remote('name', 'url', '(fetch)'); $repo->pull($remote, $branch);
Description
Set
$repo->setDescription( 'Some Description' );
Get
$repo->getDescription(); // string