PHP code example of czproject / git-php
1. Go to this page and download the library: Download czproject/git-php 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/ */
czproject / git-php example snippets
$output = $repo->execute('command');
$output = $repo->execute('command', 'with', 'parameters');
// example:
$repo->execute('remote', 'set-branches', $originName, $branches);
composer
php
$git = new CzProject\GitPhp\Git;
// create repo object
$repo = $git->open('/path/to/repo');
// create a new file in repo
$filename = $repo->getRepositoryPath() . '/readme.txt';
file_put_contents($filename, "Lorem ipsum
dolor
sit amet
");
// commit
$repo->addFile($filename);
$repo->commit('init commit');
php
$repo = $git->init('/path/to/repo-directory');
php
$repo = $git->init('/path/to/repo-directory', [
'--bare', // creates bare repo
]);
php
// Cloning of repository into subdirectory 'git-php' in current working directory
$repo = $git->cloneRepository('https://github.com/czproject/git-php.git');
// Cloning of repository into own directory
$repo = $git->cloneRepository('https://github.com/czproject/git-php.git', '/path/to/my/subdir');
php
$repo->hasChanges(); // returns boolean
$repo->commit('commit message');
$repo->merge('branch-name');
$repo->checkout('master');
$repo->getRepositoryPath();
// adds files into commit
$repo->addFile('file.txt');
$repo->addFile('file1.txt', 'file2.txt');
$repo->addFile(['file3.txt', 'file4.txt']);
// renames files in repository
$repo->renameFile('old.txt', 'new.txt');
$repo->renameFile([
'old1.txt' => 'new1.txt',
'old2.txt' => 'new2.txt',
]);
// removes files from repository
$repo->removeFile('file.txt');
$repo->removeFile('file1.txt', 'file2.txt');
$repo->removeFile(['file3.txt', 'file4.txt']);
// adds all changes in repository
$repo->addAllChanges();
php
class OwnGit extends \CzProject\GitPhp\Git
{
public function open($directory)
{
return new OwnGitRepository($directory, $this->runner);
}
}
class OwnGitRepository extends \CzProject\GitPhp\GitRepository
{
public function setRemoteBranches($name, array $branches)
{
$this->run('remote', 'set-branches', $name, $branches);
return $this;
}
}
$git = new OwnGit;
$repo = $git->open('/path/to/repo');
$repo->addRemote('origin', 'repository-url');
$repo->setRemoteBranches('origin', [
'branch-1',
'branch-2',
]);