bit3/git-php 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

bit3/git-php

最新稳定版本:1.5.1

Composer 安装命令:

composer require bit3/git-php

包简介

Easy to use GIT wrapper for PHP.

README 文档

README

Build Status Latest Version tagged Latest Version on Packagist Installations via composer per month

Easy to use GIT wrapper for php

This is a lightweight wrapper, providing the git commands in PHP.

Usage examples

The API use command builders, that allow you to build a command and execute it one time.

The main synopsis is:

$git->command()->option()->execute();

$git->command() will create a new command, *->option() will add an option to the command and *->execute() will finally execute the command.

The naming of commands and options follow the git naming. If you search for documentation of a specific command or option, just look into the git documentation. You will find the command/option there.

init a new git repository

use Bit3\GitPhp\GitRepository; $directory = '/path/to/git/target/directory'; $git = new GitRepository($directory); $git->init()->execute();

clone a git repository

The clone command is named cloneRepository() because clone is a reserved word in PHP.

use Bit3\GitPhp\GitRepository; $directory = '/path/to/git/target/directory'; $git = new GitRepository($directory); $git->cloneRepository()->execute();

describe

$annotatedTag = $git->describe()->execute(); $lightweightTag = $git->describe()->tags()->execute(); $recentRef = $git->describe()->all()->execute();

set remote fetch url

$git->remote() ->setUrl('origin', 'git@github.com:bit3/git-php.git') ->execute();

set remote push url

$git->remote() ->setPushUrl('origin', 'git@github.com:bit3/git-php.git') ->execute();

add new remote

$git->remote() ->add('github', 'git@github.com:bit3/git-php.git') ->execute();

fetch remote objects

$git->fetch()->execute('github');

checkout

$git->checkout()->execute('hotfix/1.2.3');

checkout specific path

$git->checkout()->execute('hotfix/1.2.3', '/fileA', '/fileB', '/dir/fileC');

push objects

$git->push()->execute('github', 'hotfix/1.2.3');

add file to staging index

$git->add()->execute('file/to/add.ext');

remove file

$git->rm()->execute('file/to/remove.ext');

commit changes

$git->commit()->message('Commit message')->execute();

create a tag

$git->tag()->execute('v1.2.3');

Convenience and shortcut methods

list remotes

$remotes = $git->remote()->getNames(); // array( // 'origin', // 'composer', // )

list branches

$remotes = $git->branch()->getNames(); // array( // 'master', // 'hotfix/1.2.3', // )

list remote tracking branches

$remotes = $git->branch()->remotes()->->getNames(); // array( // 'origin/master', // 'origin/hotfix/1.2.3', // 'origin/release/4.5.6', // )

list branches including remote tracking branches

$remotes = $git->branch()->all()->->getNames(); // array( // 'master', // 'hotfix/1.2.3', // 'remotes/origin/master', // 'remotes/origin/hotfix/1.2.3', // 'remotes/origin/release/4.5.6', // )

get modification status

$status = $git->status()->getStatus(); // array( // 'existing-file.txt' => array('index' => 'D', 'worktree' => false), // 'removed-but-staged.txt' => array('index' => 'D', 'worktree' => 'A'), // 'staged-file.txt' => array('index' => false, 'worktree' => 'A'), // 'unknown-file.txt' => array('index' => '?', 'worktree' => '?'), // )

get index modification status

$status = $git->status()->getIndexStatus(); // array( // 'existing-file.txt' => 'D', // 'removed-but-staged.txt' => 'D', // 'staged-file.txt' => false, // 'unknown-file.txt' => '?', // )

get worktree modification status

$status = $git->status()->getWorkTreeStatus(); // array( // 'existing-file.txt' => 'worktree' => false, // 'removed-but-staged.txt' => 'worktree' => 'A', // 'staged-file.txt' => 'worktree' => 'A', // 'unknown-file.txt' => 'worktree' => '?', // )

统计信息

  • 总下载量: 141.57k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 47
  • 点击次数: 1
  • 依赖项目数: 8
  • 推荐数: 0

GitHub 信息

  • Stars: 47
  • Watchers: 4
  • Forks: 24
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-01-04