spacemacs/layers/+source-control/github
Ivan Malison 0bfade9d7d github: Add bindings for the addition of remotes
`github-clone-add-existing-remote`, `github-clone-fork-remote`,
`github-clone-add-source-remote` come from the newest version of
github-clone and allow the easy addition of remotes to an existing
repository.
2016-07-05 00:23:16 -04:00
..
img Use + instead of ! for layer categories 2015-09-11 00:13:51 -04:00
funcs.el github: make git-link-commit works with git-timemachine 2016-04-07 22:51:47 -04:00
packages.el github: Add bindings for the addition of remotes 2016-07-05 00:23:16 -04:00
README.org github: Document how to configure your github OAuth token 2016-04-04 22:39:50 -04:00

Github layer

/TakeV/spacemacs/media/commit/0bfade9d7d5133bce884043ba6c8ccd830b1b25c/layers/+source-control/github/img/github.png

Description

This layers adds support for Github.

Features:

Install

Layer

To use this configuration layer, add it to your ~/.spacemacs. You will need to add github to the existing dotspacemacs-configuration-layers list in this file.

Git configuration

You will need to generate a personal access token on GitHub. This token should have the gist and repo permissions. Once this token is created, it needs to be added to your ~/.gitconfig

  git config --global github.oauth-token <token>

Key Bindings

magit-gh-pulls

In a magit status buffer (SPC g s):

Key Binding Description
# c create a pull request
# g get a list of all PRs in the current repository
# f fetch the commits associated to the current PR
# b create a branch for the current PR
# m merge the PR with current branch

Note that magit-gh-pulls will try to fast-forward the PRs whenever it is possible.

gist.el

Key Binding Description
SPC g g b create a public gist with the buffer content
SPC g g B create a private gist with the buffer content
SPC g g l open the gist list buffer
SPC g g r create a public gist with the region content
SPC g g R create a private gist with the region content

In the gist list buffer:

Key Binding Description
/ evil search
+ add buffer to gist
- remove file for gist
b or o open current gist in browser
f fetch current gist
g refresh the list
h go left
j go down
k go up
K kill current gist
l go right
n next search occurrence
N next previous occurrence
v visual state
V visual-line state
y print URL and copy it

Clone repositories

Key Binding Description
SPC g h C-c clone and optionally fork repository

Browse files

Key Binding Description
SPC g h c browse to file on github/bitbucket/etc (on current line at commit)
SPC g h C only copy the generated link on the kill ring
SPC g h l browse to file on github/bitbucket/etc (on current line position)
SPC g h L only copy the generated link on the kill ring
SPC g h o browse to file on github

Notes:

  • You can use the universal argument SPC u to select a remote repository.
  • You can use git-link on a region.
  • When the link is opened, the URL is also copied in the kill ring, you can override this behavior by setting the variable git-link-open-in-browser to nil.