Commit-Man is a version control system that helps the user keep track of and manage different versions of their files. It features a CLI and a GUI - the complete set of features are available in the CLI, while the GUI features a limited set of features currently (primarily repository browsing functions and viewing diffs across versions).
A repository can have a .gitignore file that specifies for which files changes are to be ignored across versions (when creating new versions). A special folder (.cm) in each repository stores data for version management.
CLI features
- Initializing a repository
- Committing a version and making a new version
- Reverting back to an old version
- Reinitializing in case of corrupted data
- Displaying Logs and Command description
GUI features
- Viewing commit history
- Browsing the repository
- Viewing diffs of files across versions
- Viewing repository info
A step by step series of examples that tell you how to get a development env running
Install from PyPi:
pip install commit-man
Install from Source
git clone https://github.com/atharva-Gundawar/commit-man
cd commit-man
python setup.py install
Initialize Commit man in the current directory
cm init
Commits curent version of working directory
cm commit <message>
Reverts to an old version of working directory
cm revert <Commit_Number> [-f | --force]
Reinitialize Commit man in the current directory
cm reinit
Displays Log file in a tabular format on the Terminal
cm showlog
Displays Command descriptions on the Terminal
cm man
- Python - An interpreted high-level general-purpose programming language.
- Gitignore Parser - A spec-compliant gitignore parser for Python 3.5+
- Docopt - Command-line interface description language
Please read CONTRIBUTING for details on our code of conduct, and the process for submitting pull requests.
- Atharva Gundawar - Initial work - Github handle
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE.md file for details