← [[doom-module-index:][Back to module index]] ! [[doom-module-issues:::tools magit][Issues]] ↖ [[doom-repo:tree/develop/modules/tools/magit/][Github]] ± [[doom-suggest-edit:][Suggest edits]] ? [[doom-help-modules:][Help]] -------------------------------------------------------------------------------- #+TITLE: :tools magit #+SUBTITLE: Wield git like a wizard #+CREATED: February 20, 2017 #+SINCE: 2.0.0 * Description :unfold: This module provides Magit, an interface to the Git version control system. ** Maintainers - [[doom-user:][@hlissner]] [[doom-contrib-maintainer:][Become a maintainer?]] ** Module flags - +forge :: Enable Forge; a porcelain for managing Github issues and PRs from within Emacs. Will take a while on first run to build =emacsql-sqlite=. ** Packages - [[doom-package:][evil-magit]] if [[doom-module:][:editor evil +everywhere]] - [[doom-package:][forge]] if [[doom-module:][+forge]] - [[doom-package:][code-review]] - [[doom-package:][magit]] - [[doom-package:][magit-gitflow]] - [[doom-package:][magit-todos]] ** Hacks - [[doom-package:][magit]] has been modified to recognize =$XDG_CACHE_HOME/git/credential/socket=. - [[doom-package:][magit]] has been modified to invalidate the projectile cache when you check out a new branch or commit. - [[doom-package:][magit]] has been modified to revert repo buffers (e.g. after changing branches) when you later switch to them, rather than all at once. - [[doom-package:][forge]] was modified to defer compilation of emacsql-sqlite until you try to use forge, rather than when magit first loads (which could be as soon as startup). ** TODO Changelog # This section will be machine generated. Don't edit it by hand. /This module does not have a changelog yet./ * Installation [[id:01cffea4-3329-45e2-a892-95a384ab2338][Enable this module in your ~doom!~ block.]] This module requires: - [[https://git-scm.com/][Git]] - [[doom-module:][+forge]] requires [[https://magit.vc/manual/forge/Token-Creation.html#Token-Creation][a Github API token]] - [[doom-package:][code-review]] will also require a token setup (see [[https://github.com/wandersoncferreira/code-review#configuration][configuration]] for your particular forge) * TODO Usage #+begin_quote 🔨 /This module's usage documentation is incomplete./ [[doom-contrib-module:][Complete it?]] #+end_quote Start magit with [[kbd:][ g g]] (~M-x magit-status~). If you are new to Magit, see the [[https://github.com/magit/magit#getting-started][Getting Started]] section of its project readme. * TODO Configuration #+begin_quote 🔨 /This module's configuration documentation is incomplete./ [[doom-contrib-module:][Complete it?]] #+end_quote ** Enable Gravatars To enable gravatars when viewing commits: #+begin_src emacs-lisp ;; in $DOOMDIR/config.el (after! magit (setq magit-revision-show-gravatars '("^Author: " . "^Commit: "))) #+end_src ** Enable granular diff-highlights for all hunks By default, changes are highlighted *linewise* for all but the selected hunk. This is so for [[https://magit.vc/manual/magit/Performance.html][performance reasons]]. You can enable character-wise highlights for /all/ visible hunks with: #+begin_src emacs-lisp ;; in $DOOMDIR/config.el (after! magit (setq magit-diff-refine-hunk 'all)) #+end_src * Troubleshooting /There are no known problems with this module./ [[doom-report:][Report one?]] * Frequently asked questions ** "I recently updated and now I get 'deferred error : (wrong-type-argument sequencep code-review--auth-token-set\?)' whenever I try to review'" The previous package "github-review" was replaced with a package that supercedes it called "code-review", which requires a simple change in your authinfo file. #+begin_src authinfo machine api.github.com login yourlogin^github-review password MYTOKENGOESHERE #+end_src becomes #+begin_src authinfo machine api.github.com login yourlogin^code-review password MYTOKENGOESHERE #+end_src * TODO Appendix #+begin_quote 🔨 This module has no appendix yet. [[doom-contrib-module:][Write one?]] #+end_quote