Full git and GitHub integration with Sublime Text 3.
Python HTML Other
Latest commit 9ec1cc4 Jun 14, 2018
Permalink
Failed to load latest commit information.
.github Internal: turn off semver of maintainerd Oct 24, 2017
common Fix: On startup in-memory `instances` cache can be empty Apr 27, 2018
core Merge pull request #946 from divmain/debug_issue_942 May 30, 2018
docs Merge pull request #936 from mnieber/run_in_thread May 8, 2018
github fix: next link may not be the first May 19, 2018
gitlab Internal: use SettingsMixin Mar 31, 2018
messages bump to 2.17.3 Jun 1, 2018
popups Internal: update blame docs Sep 25, 2017
scripts Eject from deploy if matching semantic version is not found. Jul 5, 2017
syntax Feature: Pedantic commit messages Feb 10, 2018
tests Enhancement: support prefix in prerelease Apr 4, 2018
.gitignore Fix: support parsing "git://" remote URI to Github URL Mar 5, 2017
.maintainerd_old Internal: disable maintainerd as a whole Oct 25, 2017
.travis.yml Internal: homebrew has renamed its python3 formula Mar 3, 2018
CONTRIBUTING.md Internal: turn off semver of maintainerd Oct 24, 2017
Default (Linux).sublime-keymap Enhancement: rename `git: add (edit)` command Mar 11, 2018
Default (OSX).sublime-keymap Enhancement: rename `git: add (edit)` command Mar 11, 2018
Default (Windows).sublime-keymap Enhancement: rename `git: add (edit)` command Mar 11, 2018
Default.sublime-commands Merge pull request #908 from divmain/settings Apr 7, 2018
Default.sublime-keymap [Feature] add helpers to handle merge conflicts in status dashboard Feb 17, 2018
GitSavvy.sublime-project Internal: specify GitSavvy settings under root node Apr 7, 2018
GitSavvy.sublime-settings Merge pull request #919 from divmain/blame Apr 10, 2018
GitSavvy.tmPreferences Fix: Use a custom scope to add items to `Goto Symbol` Mar 18, 2016
LICENSE Add whitespace to LICENSE. Feb 27, 2015
Main.sublime-menu Add Key Binding setting shortcut Mar 22, 2018
README.md Doc: update codacy badge address Apr 4, 2018
__init__.py Other: convert directories with code to proper packages Oct 28, 2016
appveyor.yml Fix: avoid windows exe permission errors Mar 19, 2018
dependencies.json Fix: JSON resource format errors Sep 22, 2017
git_savvy.py Feature: implement GitLab merge request review Jan 11, 2018
messages.json bump to 2.17.3 Jun 1, 2018
setup.cfg Fix: lint errors Apr 10, 2018
unittesting.json Other: start writing tests Dec 20, 2016

README.md

GitSavvy

Build Status AppVeyor branch Coverage Status Codacy Badge License Gitter

Sublime Text 3 plugin providing the following features:

  • basic Git functionality; init, add, commit, amend, checkout, pull, push, etc.
  • inline diff viewing, including quick navigation between modified hunks and the ability to (un)stage files by hunk or by line (respectfully stolen from SourceTree, GitX, et al)
  • GitHub integration
    • issue/collaborator referencing when committing
    • opening the current file on GitHub at the selected line
  • GitHub-style blame view, showing hunk metadata and ability to view the commit that made the change
  • git diff view, allowing user to (un)stage hunks across all files
  • status, branch, tag, and rebase dashboards

Note: GitSavvy only supports Git versions at or greater than 1.9.0.

Note: Sublime Text 2 is not supported. Also, GitSavvy takes advantage of certain features of ST3 that have bugs in earlier ST3 releases. For the best experience, use the latest ST3 dev build.

Documentation

Feature documentation can be found here. It can also be accessed from within Sublime by opening the command palette and typing GitSavvy: help.

Highlights

Inline-diff Status dashboard
(Un)stage and revert individual lines and hunks. Display and overview and offer actions to manipulate your project state.
Branch dashboard Tags dashboard
View and manipulate local and remote branches. View and manipulate local and remote tags.
Github integration Rebase dashboard
Reference issues and collaborators in commits. Open files on GitHub in the browser, with lines pre-selected. Squash, edit, move, rebase, undo, redo.

Installation

Simple

  1. Install the Sublime Text Package Control plugin if you don't have it already.
  2. Open the command palette and start typing Package Control: Install Package.
  3. Enter GitSavvy.

Note: If you're using 64-bit Windows, the path to the Git binary may not be as you expect. If GitSavvy fails to operate correctly in this configuration, make sure to confirm the Git path you're using in the config.

Less simple

If you want more control over what you pull down, or if you'd like to submit changes to GitSavvy, you should pull down the repository directly and restart the editor.

# on a Mac
cd "$HOME/Library/Application Support/Sublime Text 3/Packages"
# on Linux
cd $HOME/.config/sublime-text-3/Packages
# on Windows (PowerShell)
cd "$env:appdata\Sublime Text 3\Packages\"

git clone git@github.com:divmain/GitSavvy.git

# Package Control need to be installed https://packagecontrol.io/installation
# install dependencies from command line
subl --command 'satisfy_dependencies'
# or open Command Palette and run 'Package Control: Satisfy Dependencies'