/git-auto-commit-mode

Automatically commit to git after each save

Primary LanguageEmacs LispGNU General Public License v3.0GPL-3.0

git-auto-commit-mode

NAME

git-auto-commit-mode - Emacs minor mode to automatically commit (and push) a git repository.

http://melpa.org/packages/git-auto-commit-mode-badge.svg http://stable.melpa.org/packages/git-auto-commit-mode-badge.svg

SYNOPSIS

M-x git-auto-commit-mode <RET>

DESCRIPTION

git-auto-commit-mode is an Emacs minor mode that tries to commit changes to a file after every save.

The commit message sent to git is always the filename of the file saved, relative to the root of the git repository.

USAGE

When enabled, git-auto-commit-mode uses the after-save-hook to commit changes to git each time. If gac-automatically-push-p is non-nil it also tries to push the HEAD to the current upstream. Making sure that upstream is properly set is the responsibility of the user.

Enabling

Since git-auto-commit-mode is a regular minor mode you have more than one option to enable it.

As a file-local variable

If you’re using Emacs 24 or newer you should set an eval file-local variable:

;; -*- eval: (git-auto-commit-mode 1) -*-

If you’re using an older version of Emacs, that should be:

;; -*- mode: git-auto-commit -*-

As a directory-local variable

If you’re using Emacs 24 or newer you should set an eval variable:

((nil . ((eval git-auto-commit-mode 1))))

If you’re using an older version of Emacs, that should be:

((nil . ((mode . git-auto-commit))))

As a hook

To enable git-auto-commit-mode each time a certain-hook runs:

(add-hook 'certain-hook 'git-auto-commit-mode)

CUSTOMIZATION

git-auto-commit-mode is a simple mode, as such it offers little customization.

gac-automatically-push-p
A boolean value indicating whether or not git-auto-commit-mode should try to push the git repository’s HEAD to its default upstream. Setting up the upstream is the user’s responsibility.
gac-ask-for-summary-p
A boolean value indicating whether or not git-auto-commit-mode should ask the user for a commit message every time a commit is made. Note: Since the summary is asked for before the commit, but after the file has been saved, pressing C-g while entering the Summary will stop the commit from being made, but not the file from being saved.
gac-shell-and
A string that can be used to change how the shell combines commands. The default ” && ” is good for bash-like shells, but ” ; and ” would be used for fish, for example.
gac-debounce-interval
A number specifying a buffer between automatic commits in seconds. Wait with making an actual commit until this number of seconds elapses.
gac-default-message
A variable specifying the default commit message to use. It can be nil (the default, just using the file name as commit message), a string, or a function called with the file name as argument and returning a string.