/GitSavvy

Full git and GitHub integration with Sublime Text 3.

Primary LanguagePythonMIT LicenseMIT

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: Due to a bug present in earlier Git versions, GitSavvy only supports Git versions at or greater than 1.7.10.3.

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'