Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Link to Magit buffers from Org documents

This package defines several Org link types, which can be used to link to certain Magit buffers. Use the command org-store-link while such a buffer is current to store a link. Later you can insert it into an Org buffer using the command org-insert-link.


The three link types defined here take these forms:

orgit:/path/to/repo/            links to a magit-status buffer
orgit-log:/path/to/repo/::REV   links to a magit-log buffer
orgit-rev:/path/to/repo/::ARGS  links to a magit-revision buffer

Before v1.3.0 only the first revision was stored in orgit-log links, and all other revisions were discarded. All other arguments were also discarded and Magit’s usual mechanism for determining the switches and options was used instead.

For backward compatibility, and because it is the common case and looks best, ARGS by default has the form REV as before. However if linking to a log buffer that shows the log for multiple revisions, then ("REV"...) is used instead. If orgit-log-save-arguments is non-nil, then (("REV"...) ("ARG"...) [("FILE"...)]) is always used, which allows restoring the buffer most faithfully.


When an Org file containing such links is exported, then the url of the remote configured with orgit-remote is used to generate a web url according to orgit-export-alist. That webpage should present approximately the same information as the Magit buffer would.

Both the remote to be considered the public remote, as well as the actual web urls can be defined in individual repositories using Git variables.

To use a remote different from orgit-remote but still use orgit-export-alist to generate the web urls, use:

git config orgit.remote REMOTE-NAME

To explicitly define the web urls, use something like:

git config orgit.status
git config orgit.log
git config orgit.rev