Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Git Laravel Package

kzykhys/git

kzykhys/git is a lightweight PHP wrapper around the Git command-line tool, offering an object-oriented API for common repository tasks such as cloning, committing, branching, status, log, and diff. It requires Git installed but no PHP extension, making Git automation simple in PHP projects.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for "version control" features. PHPGit is a thin OO wrapper over the git binary. It answers the recurring product question: "do we embed git semantics (history, diff, rollback, branching) into our product, or do we build that ourselves?" It lets you buy (adopt) the plumbing for a day-one prototype and defer a build decision.
  • Feature scoping for audit/history/rollback. If the roadmap includes "see who changed this and revert it" — for CMS content, config, templates, or tenant settings — this package is the cheapest way to validate the user story before committing engineering time. A spike can prove whether git-as-storage is a viable UX primitive (diffs, blame, revert) or whether users need a friendlier abstraction.
  • Internal tooling and release automation. Deploy dashboards, changelog generators, release taggers, "what shipped" reports, and admin-panel repo browsers. These are low-blast-radius, high-leverage internal features where a wrapper pays for itself quickly.
  • Platform architecture: process isolation vs. in-process library. Committing to a CLI-wrapper approach is an architectural decision (git binary must exist on every host, process-spawn cost per call, shell-escaping risk). Adopting this package makes that decision explicit and reviewable early.
  • Roadmap risk input. The maintenance signals here — last release 2014, PHP 5.3-era API, zero recorded dependents, low opportunity score (12.2) — are directly usable in a dependency-risk review: this is a prototype accelerator, not a platform bet.
  • Buy-vs-build benchmark. Even if you reject it, the package is a useful reference implementation for scoping your own wrapper: which commands to expose, how to model output, what error handling looks like.

When to Consider This Package

Consider it when all of the following hold:

  • You are on a legacy PHP 5.3–7.x stack where modern Composer packages conflict, and you need git access this sprint.
  • The use case is internal or low-risk: admin tooling, CI helpers, release scripts, content snapshotting where a failed command degrades gracefully.
  • You need read-mostly introspection — log, show, diff, status, branch — rather than heavy porcelain workflows with complex conflict/merge handling.
  • You want a time-boxed spike (1–3 days) to validate a product hypothesis about history/rollback UX, with the intent to wrap it behind your own interface and swap it later.
  • The git binary is already guaranteed on target hosts and you control the environment.

Look elsewhere when:

  • You are on PHP 8+ / modern Laravel. The package predates the Symfony Process API changes and is not maintained; expect friction or outright breakage. Use symfony/process directly, or a maintained wrapper (e.g. czproject/git-php, gitonomy/gitlib) after a fresh evaluation.
  • Untrusted input can reach a command. An eleven-year-old shell-command wrapper is the wrong place to discover an escaping bug. Security review is not optional here.
  • You need customer-facing, high-concurrency operation. Spawning a process per call is expensive; a hosted API (GitHub/GitLab SDKs) or a purpose-built storage layer will scale better.
  • You need long-term maintenance, security patches, or vendor support. Last release 2014-02-15 means no upstream fixes, ever.
  • Your requirement is really "versioned storage," not "git." Git's model leaks into UX (detached HEAD, dirty trees, merge conflicts); a simpler append-only revision table may serve users better and cost less.

How to Pitch It (Stakeholders)

To executives: We have a candidate component that could let us ship a "history and rollback" capability for internal tools in days instead of weeks. It is free, small, and easy to trial. The caveat is material: it has not been updated since 2014 and has negligible adoption, so I am recommending it only as a short, contained proof-of-concept behind our own abstraction layer — not as a dependency we build a product on. Cost of the trial is a few engineering days; the decision it unlocks is whether history/rollback is a real user need worth investing in properly.

To engineering: PHPGit wraps the git CLI in an OO API. It is a fast way to prototype log/diff/revert flows without writing command plumbing or output parsing. Treat it as scaffolding: put it behind our own repository interface on day one, pin the version, and assume we replace it — with a thin symfony/process wrapper or a maintained library — before anything reaches production. Do not let untrusted input touch it without a dedicated escaping review, and do not assume it works on PHP 8 without a spike.

Recommendation: Approve a 1–3 day spike, internal-only, with an explicit exit criterion (does the diff/rollback UX validate the user story?). Default the roadmap to a build decision on a modern, maintained foundation; score this package as an accelerator, not an asset.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource