PHP code example of graham-campbell / git-wrapper

1. Go to this page and download the library: Download graham-campbell/git-wrapper library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

graham-campbell / git-wrapper example snippets




use GrahamCampbell\GitWrapper\GitWrapper;

// Initialize the library. If the path to the Git binary is not passed as 
// the first argument when instantiating GitWrapper, it is auto-discovered.
$gitWrapper = new GitWrapper();

// Optionally specify a private key other than one of the defaults
$gitWrapper->setPrivateKey('/path/to/private/key');

// Clone a repo into `/path/to/working/copy`, get a working copy object
$git = $gitWrapper->cloneRepository('git://github.com/cpliakas/git-wrapper.git', '/path/to/working/copy');

// Create a file in the working copy
touch('/path/to/working/copy/text.txt');

// Add it, commit it, and push the change
$git->add('test.txt');
$git->commit('Added the test.txt file as per the examples.');
$git->push();

// Render the output for operation
echo $git->push();

// Stream output of subsequent Git commands in real time to STDOUT and STDERR.
$gitWrapper->streamOutput();

// Execute an arbitrary git command.
// The following is synonymous with `git config -l`
$gitWrapper->git('config -l');

$git->command($arg1, $arg2, ..., $options);

$options = [
    'verbose' => true,   // Passes the "--verbose" flag.
    't' => 'my-branch',  // Passes the "-t my-branch" option.
];



use GrahamCampbell\GitWrapper\EventSubscriber\GitLoggerEventSubscriber;
use Monolog\Logger;
use Monolog\Handler\StreamHandler;

// Log to a file named "git.log"
$logger = new Logger('git');
$logger->pushHandler(new StreamHandler('git.log', Logger::DEBUG));

// Instantiate the subscriber, add the logger to it, and register it.
$gitWrapper->addLoggerEventSubscriber(new GitLoggerEventSubscriber($logger));

$git = $gitWrapper->cloneRepository('git://github.com/cpliakas/git-wrapper.git', '/path/to/working/copy');

// The "git.log" file now has info about the command that was executed above.

$gitWrapper->setEnvVar('HOME', '/path/to/a/private/writable/dir');

// Set configuration options globally.
$gitWrapper->git('config --global user.name "User name"');
$gitWrapper->git('config --global user.email [email protected]');

// Set configuration options per repository.
$git->config('user.name', 'User name');
$git->config('user.email', '[email protected]');

if ($git->hasChanges()) {
    $git->commit('Committed the changes.');
}

$this->gitWrapper = new GitWrapper();
$this->gitWrapper->setTimeout(120);