Skip to content
enrPublic

About

Bulk management for Git repos

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Repository files navigation

Gip

Manage your Git projects.

CI Linux Mac CI Windows Go Report Card Documentation

Gip runs Git commands, in parallel, on a set of repositories.

Repositories can be registered in a YAML or JSON file, eg:

[
  {
    "name": "gip",
    "repository": "https://github.com/enr/gip.git",
    "local_path": "/tmp/gip"
  },
  {
    "name": "nowhere",
    "repository": "https://nowhere.git",
    "local_path": "/nowhere/not/found",
    "pull_policy": "never"
  }
]
- name: gip
  repository: "https://github.com/enr/gip.git"
  local_path: /tmp/gip
- name: nowhere
  repository: "https://nowhere.git"
  local_path: /nowhere/not/found
  pull_policy: never

Available commands:

  • status / statusfull: modified (and untracked) files
  • list: registered projects with branch and sync status
  • pull: pull, or clone missing repositories
  • fetch: git fetch --all --prune
  • branch: current branch of each project
  • releases: latest tag and commits made after it, to spot projects to release
  • exec: arbitrary command in each project directory
  • check: verify the configuration (wrong paths, mismatched remotes, missing branches, unreachable repositories)
  • init: generate a configuration file from existing clones
  • completion: shell completion script (bash, zsh, fish)

See website for more.

Development

Download or clone repository (requires Go 1.25+).

Build (binaries will be created in bin/):

./.sdlc/build

Check (code quality and tests);

./.sdlc/check

License

Apache 2.0 - see LICENSE file.

Copyright 2020-TODAY gip contributors

About

Bulk management for Git repos

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages