Project to abstract some of the weirder git operations or things that I forget. Should always be able to be used alongside git, as opposed to trying to replace it outright. Mainly writing to learn more about Git and Perl, unlikely to be widely useful.
simply-git
Usage:
--view
Display git status of files and other information
--dump-config
Dump .git/config to STDOUT. Not really useful but exposed for testing of reading config into internal data structure
--push-all [--commit-msg]
Push all untracked and modified files
* Can be used with interactive mode
* Can provide a commit msg with --commit-msg (otherwise a generic will be provided)
--interactive
Enable interactive mode with supported opts
--reset-from-master
Reset all current changes so that the file tree matches origin master
--reset-from-upstream [ --upstream-url ]
If upstream is defined will reset local branch to match upstream ( does not push changes to origin )
* Assumes you have an upstream configured
* Pass SSH/HTTPS URL to --upstream-url to add an upstream
--configure-local-user [--user,--email]
Configure local git user
* Can be used with interactive mode
--config-file
Default is ~/.sg/sg.config, can use this opt to use another file
* See example.config
--knock
Will try and knock the defined git server at the defined ports before any operation
* See example.config
* Can pass this by itself to perform a knock and exit
--knock-clone
Will try and knock the defined git server and clone the provided repo
* Will not check if you're in a git dir
--knock-pull
Will try and knock the defined git server and git pull
Can use provided install.sh to install
--push-all
when running from a relative path in the git dir (as opposed to the root)