NAME¶Legit: Git for Humans -
Inspired by GitHub for Mac.
THE CONCEPT¶GitHub for Mac is not just a Git client.
This comment on Hacker News says it best:
Why not bring this innovation back to the command line?
- switch <branch>
- Switches to specified branch. Defaults to current branch. Automatically stashes and unstashes any changes. (alias: sw)
- sync [<branch>]
- Synchronizes the given branch. Defaults to current branch. Stash, Fetch, Auto-Merge/Rebase, Push, and Unstash. You can only sync published branches. (alias: sy)
- publish [<branch>]
- Publishes specified branch to the remote. (alias: pub)
- unpublish <branch>
- Removes specified branch from the remote. (alias: unp)
- Un-does the last commit in git history. (alias: un)
- branches [<wildcard pattern>]
- Display a list of available branches. Allows wildcard pattern matching of branch name.
THE INSTALLATION¶[image: https://img.shields.io/pypi/v/legit.svg] [image: https://img.shields.io/travis/frostming/legit/master.svg] [image: https://img.shields.io/coveralls/github/frostming/legit.svg] [image: https://repl.it/badge/github/frostming/legit]
From PyPI with the Python package manager:
pip install legit
Or download a standalone Windows executable from GitHub Releases.
To install the cutting edge version from the git repository:
git clone https://github.com/frostming/legit.git cd legit python setup.py install
Note: if you encountered Permission denied, prepend sudo before the pip or python setup.py command.
You'll then have the wonderful legit command available. Run it within a repository.
To view usage and examples, run legit with no commands or options:
To install the git aliases, run the following command:
To uninstall the git aliases, run the following command:
COMMAND OPTIONS¶All legit commands support --verbose and --fake options.
In order to view the git commands invoked by legit, use the --verbose option:
legit sync --verbose
If you want to see the git commands used by legit but don't want them invoked, use the --fake option:
legit publish --fake
- All remote operations are carried out by the remote identified in $ git config legit.remote remotename
- If a stash pop merge fails, Legit stops. I'd like to add checking for a failed merge, and undo the command with friendly error reporting.