Github

From WikEmacs
Revision as of 16:49, 14 October 2015 by Elvince (talk | contribs) (gitlab)
Jump to navigation Jump to search

What are the packages and libraries that allow us to interface with github (and gitlab, and others) ?

Packages

Github only

Repo interaction

github-clone gives an interactive function to fork and clone github projets from emacs.

Gist interaction

yagist, "yet another emacs integration for gist.github.com" does what it is meant for. It gives functions to list gists, create public or private gists from the region or the buffer, etc.

Pull requests

magit-gh-pulls is a magit extension that allows you to conveniently manipulate Github’s pull requests from Emacs. It creates a new section called "Pull requests" in the magit status buffer. From there you can see the commits of the PR, create a topic branch or merge it. You can also create a new PR.

Issues

git-commit-insert-issues gives a minor mode and an interactive function to fetch the list of issues of the project, display them with helm and insert its title in the commit message.

Git-commit-insert-issues.png

Misc

Open current file on github

This is what does github-browse-file.

Helm

emacs-helm-open-github groups utilities to open a github page. It deals with issues, commits, files, pull requests. It is based on the gh.el library.

Browse your starred repos with Helm

Do that with helm-github-stars.

Gitlab only

Libraries

gh.el

gh.el offers endpoints to connect to github's api: get issues, repositories, gists, orgs and pull requests.

github-issues.el

github-issues.el (not in melpa) allows to fetch github issues.


emacs-gitlab

gitlab.el is a rest client to gitlab's API.