Introducing SCM Breeze
Streamlining Your SCM Workflow
SCM Breeze is an innovative suite of shell scripts designed to enhance your command-line interaction with Git. It's available for bash
and zsh
, and aims to make your development life a lot easier with features that integrate seamlessly into your terminal.
Key Features
Installation
Getting SCM Breeze up and running is straightforward. Simply clone the repository and run the installation script:
git clone https://github.com/scmbreeze/scm_breeze.git ~/.scm_breeze
~/.scm_breeze/install.sh
source ~/.bashrc # or source "${ZDOTDIR:-$HOME}/.zshrc"
You also need Ruby for some commands to work optimally. Ruby installation guidance is available on ruby-lang.org.
File Shortcuts
One of SCM Breeze’s standout features is its file shortcuts. When you're working with a list of changed files in a Git repository, SCM Breeze assigns a number to each file. This way, you can reference files by their number rather than their full name, saving you time and effort.
For example, if you want to add files in your Git staging area, instead of:
$ ga assets/git_breeze/config* assets/git_breeze/install.sh
You can use:
$ ga 2 3 11
This feature also supports numerical ranges, allowing commands like:
$ ga 1-10
Further actions like diffing (gd
), resetting (grs
), or checking out (gco
) can also be performed using these numerical shortcuts.
Keyboard Bindings
To speed up frequent Git commands like git add
and git commit
, SCM Breeze provides keyboard shortcuts:
CTRL
+x
c
executesgit_add_and_commit
, adding given files then committing staged changes.CTRL
+x
SPACE
commits all changes.
These shortcuts offer a streamlined workflow that improves efficiency.
Repository Index
SCM Breeze features a repository index that allows fast switching between project directories. Similar to tools like Autojump, this feature doesn't need any learning time and supports advanced operations like executing commands across all repositories.
To use it, configure your repository directory in your ~/.git.scmbrc
and build the index with:
$ c --rebuild
External Project Design Directories
If you work with design files like .psd
or .xcf
, SCM Breeze helps organize them separately from your project's version-controlled files. These files can be kept in a root design directory, such as a Dropbox folder, and the feature supports automated symlink creation to keep everything synchronized.
Configuration and Customization
SCM Breeze is configured through ~/.scmbrc
files. You can personalize almost every aspect, including aliases, to fit your unique workflow needs. There are two choices for alias management: using provided aliases or your custom aliases with the numeric shortcuts feature maintained.
Updating and Uninstallation
Stay updated by running update_scm_breeze
, which fetches the latest enhancements from the GitHub repository. If you need to remove SCM Breeze, execute the uninstall script:
~/.scm_breeze/uninstall.sh
Contributing
SCM Breeze is an open-source project hosted on GitHub. Contributors are welcome, whether you have scripts to share or improvements to propose.
Conclusion
SCM Breeze is a robust tool designed to simplify and enhance your Git workflow, helping you navigate your projects with ease and efficiency. Embrace these features to streamline your development process and make your terminal a more powerful component of your coding toolkit.