# github contribution layer for Spacemacs
![github](github.png)
**Table of Contents**
- [github contribution layer for Spacemacs](#github-contribution-layer-for-spacemacs)
- [Description](#description)
- [Install](#install)
- [Key bindings](#key-bindings)
- [magit-gh-pulls](#magit-gh-pulls)
- [gist.el](#gistel)
## Description
This layer installs packages to interface Github services or features:
- [magit-gh-pulls][]: handy `magit` add-on to manage Github pull requests.
- [gist.el][]: full-featured mode to browse and post Githug gists.
## Install
To use this contribution add it to your `~/.spacemacs`
```elisp
(setq-default dotspacemacs-configuration-layers '(github)
"List of contribution to load."
)
```
## Key bindings
### magit-gh-pulls
In a `magit status` buffer (SPC g s):
Key Binding | Description
--------------------|------------------------------------------------------------
# g g | get a list of all PRs in the current repository
# g f | fetch the commits associated to the current PR
# g b | create a branch for the current PR
# g 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
[magit-gh-pulls]: https://github.com/sigma/magit-gh-pulls
[gist.el]: https://github.com/defunkt/gist.el