Difference between revisions of "Github"
Line 29: | Line 29: | ||
==== Open current file on github ==== | ==== Open current file on github ==== | ||
− | + | There few repos doing pretty the same action: [https://github.com/osener/github-browse-file github-browse-file], [https://github.com/rmuslimov/browse-at-remote browse-at-remote] | |
==== Helm ==== | ==== Helm ==== |
Revision as of 06:14, 21 October 2015
What are the packages and libraries that allow us to interface with github (and gitlab, and others) ?
If you want to see packages to interfere with Git, see its own git page.
Packages
Github only
Repo interaction
github-clone gives an interactive function to fork and clone github projets from within emacs. The command M-x github-clone will prompt for a repository and directory to clone to. In one shot, it will use the github api to fork the repo if you are not the owner, clone the repo to the specified directory, and add a remote called upstream if the repository is a fork.
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.
Misc
Open current file on github
There few repos doing pretty the same action: github-browse-file, browse-at-remote
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
gitlab.el
With gitlab we can fetch issues and projects with a Helm interface. It is also a client to gitlab's api.
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.
See also
Magit
Magit, a git interface.
VC, the built-in version control
It's built-in. You can read its official documentation online.