;;; my-git --- configures git for emacs ;;; Commentary: ;;; Code: (require 'use-package) (use-package git-modes :ensure t :mode ("/\\.gitconfig\\'" . gitconfig-mode) ("/\\.gitmodules\\'" . gitconfig-mode) ("/\\.git/config\\'" . gitconfig-mode) ("/\\.gitignore\\'" . gitignore-mode) ("/.dockerignore\\'" . gitignore-mode) ("/\\.gitattributes//" . gitattributes-mode)) (use-package magit :ensure t :after (flyspell) :bind (("C-x g" . magit-status)) :custom (vc-follow-symlinks t) (magit-completing-read-function 'ivy-completing-read)) (use-package magit-repos :ensure nil :after (magit) :custom (magit-repository-directories '(("~/workspace" . 1)))) (use-package git-commit :ensure t :after magit :hook (git-commit-mode . my/git-commit-auto-fill) :custom (git-commit-summary-max-length 50) :preface (defun my/git-commit-auto-fill () "Ensures that the commit body does not exceed 72 characters." (setq-local fill-column 72) (setq-local comment-auto-fill-only-comments nil))) (use-package git-link :ensure t :after magit :bind (("C-c g l" . git-link) ("C-c g a" . git-link-commit)) :custom (git-link-open-in-browser 't)) (provide 'my-git) ;;; my-git.el ends here