Manage projects in a git repository
Project description
The extensible stupid project manager
Setup
pip install git-project
Description
git-project is a git extension to manage development of a project hosted in a git repository. By itself git-project does almost nothing. Its functionality is enhanced by plugins.
git-project-core-plugins provides a set of basic functionality and should almost always be installed alongside git-project.
Conventions
Symlinks identiy projects to the git-project command. For example, if git-fizzbin is symlinked to git-project, then git fizzbin <command> will invoke git-project with fizzbin as the “active project.” To emphasize this, we show git-project commands with a generic <project> identifier:
git <project> --help
Discussion
With git-project and its core plugins you can:
Initialize a development environment at clone time (or after clone time)
Manage branches
Manage worktrees
Set and invoke commands
git-project is intended to make switching between active ‘tasks’ in a repository simple and fast, without losing the progress context of existing tasks. For example the core plugins set up build environments such that switching among projects and worktrees does not result in “rebuilding the world.” Builds can be configured to invoke complex commands via a convenient name (e.g. git <project> build debug)
Substitution variables
Commands that allow substitution take a form {varname} in their configured textual representation and substitute it with the value of varname. varname can be any configured value under <project>, for example:
[project] myvar = value
git-project has several built-in substitution variables that various commands and plugins can use:
- branch
The name of the currently checked-out branch
- gitdir
The value of GITDIR
- git_common_dir
The value of GIT_COMMON_DIR
- project
The value of <project>
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for git_project-0.0.23-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b25cc3ee909413e7a99ac0bfe1621aec3147b095a6df38c0b8b16dfa178bbe2f |
|
MD5 | 42cd1b0b9df55746afc658cdab0c286a |
|
BLAKE2b-256 | 91f4cd01f942a50e3995d879f1c180d0b14bb2e1617958e3b6d22b08b3196eac |