PHPackages                             operations/git-split - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. operations/git-split

ActiveComposer-plugin[Utility &amp; Helpers](/categories/utility)

operations/git-split
====================

Adds composer git:split composer command for easy splitting of a git repository into many others.

2.1.0(2y ago)03GPL-2.0-or-laterPHPPHP ^7.1||^8.0

Since Jun 23Pushed 1y agoCompare

[ Source](https://github.com/operations-project/git-split)[ Packagist](https://packagist.org/packages/operations/git-split)[ Docs](https://drupal.org/project/operations)[ Fund](https://thinkdrop.net)[ GitHub Sponsors](https://github.com/jonpugh)[ RSS](/packages/operations-git-split/feed)WikiDiscussions 2.x Synced 2d ago

READMEChangelogDependencies (2)Versions (42)Used By (0)

GitSplit Component
==================

[](#gitsplit-component)

The GitSplit component provides commands to split a monorepo using the [splitsh-lite](https://github.com/splitsh/lite)script and other tools.

Usage
-----

[](#usage)

The first implementation of GitSplit is DevShop itself. Look to OpenDevShop's code for a usage example:

1. Add the package to your project's `composer.json`:

    ```
    composer require devshop/git-split --dev

    ```

    See
2. Import a legacy repo into a subfolder:

    If a component repo already exists, you can merge it in with the git subtree command:

    ```
    git subtree add --prefix=$PATH_IN_REPO $GIT_URL $BRANCH

    ```

    For example, when we merged in the "devmaster" install profile from Drupal.org:

    ```
    git subtree add --prefix=devmaster https://git.drupalcode.org/project/devmaster.git 7.x-1.x

    ```

    See
3. Add `extra.git-splits`

    Add the Secondary Repository information to the config.git-split.repos section of the main devshop/composer.json file.

    ```
    "extra": {
        "git-split": {
            "repos": {
                "devmaster": "git@github.com:opendevshop/devmaster.git"
            }
        }
    }
    ```
4. Run the command `composer git:split` every time there is new code.

    See the DevShop GitHub Action "git.yml" file for an example on running `composer git:split` to push code to multiple remotes, including different github organizations and drupal.org using SSH keys:

Resources
---------

[](#resources)

- [Documentation](https://github.com/devshop-packages/git-split/blob/develop/README.md)
- [Contributing](https://github.com/opendevshop/devshop/blob/develop/docs/DEVELOPING.md)
- [Report issues](https://github.com/opendevshop/devshop/issues) and [send Pull Requests](https://github.com/opendevshop/devshop/pulls)in the [main DevShop repository](https://github.com/opendevshop/devshop)

Credits
-------

[](#credits)

[splitsh-lite](https://github.com/splitsh/lite) is a third party shell script installed when this component is used.

Find sources and license at .

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance27

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~6 days

Recently: every ~46 days

Total

38

Last Release

890d ago

Major Versions

1.10.0-alpha10 → 2.0.0-beta82023-07-26

1.x-dev → 2.0.0-beta12023-07-26

### Community

Maintainers

![](https://www.gravatar.com/avatar/10539fb9e887c35b626eba70c97dd9d53ba14e987d4f129b55a488664a834eca?d=identicon)[jonpugh](/maintainers/jonpugh)

---

Top Contributors

[![jonpugh](https://avatars.githubusercontent.com/u/106420?v=4)](https://github.com/jonpugh "jonpugh (4 commits)")

### Embed Badge

![Health badge](/badges/operations-git-split/health.svg)

```
[![Health](https://phpackages.com/badges/operations-git-split/health.svg)](https://phpackages.com/packages/operations-git-split)
```

###  Alternatives

[symfony/runtime

Enables decoupling PHP applications from global state

74798.8M1.0k](/packages/symfony-runtime)[drupal/core-composer-scaffold

A flexible Composer project scaffold builder.

5344.1M564](/packages/drupal-core-composer-scaffold)[drupal/core-project-message

Adds a message after Composer installation.

2124.7M203](/packages/drupal-core-project-message)[vaimo/composer-patches

Applies a patch from a local or remote file to any package that is part of a given composer project. Patches can be defined both on project and on package level. Optional support for patch versioning, sequencing, custom patch applier configuration and patch command for testing/troubleshooting added patches.

3014.6M26](/packages/vaimo-composer-patches)[sandersander/composer-link

Adds ability to link local packages for development with composer

98457.9k](/packages/sandersander-composer-link)[phpro/grumphp-shim

GrumPHP Phar distribution

294.7M340](/packages/phpro-grumphp-shim)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
