diff --git a/.gitmodules b/.gitmodules
index 34083d4..5937023 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -13,3 +13,6 @@
 [submodule "emacs.d/elisp/markdown-mode"]
 	path = emacs.d/elisp/markdown-mode
 	url = git://jblevins.org/git/markdown-mode.git
+[submodule "emacs.d/elisp/git-commit-mode"]
+	path = emacs.d/elisp/git-commit-mode
+	url = git://github.com/rafl/git-commit-mode.git
diff --git a/emacs.d/20-git-commit.el b/emacs.d/20-git-commit.el
new file mode 100644
index 0000000..4568af0
--- /dev/null
+++ b/emacs.d/20-git-commit.el
@@ -0,0 +1,6 @@
+(add-to-list 'load-path "~/.emacs.d/elisp/git-commit-mode")
+(require 'git-commit)
+
+(add-hook 'git-commit-mode-hook
+          (lambda ()
+            (auto-fill-mode)))
diff --git a/emacs.d/elisp/git-commit-mode b/emacs.d/elisp/git-commit-mode
new file mode 160000
index 0000000..ec88948
--- /dev/null
+++ b/emacs.d/elisp/git-commit-mode
@@ -0,0 +1 @@
+Subproject commit ec88948e06f787fcc1c3b9951930ef00b25d0b8a