2.8 KiB
git-auto-commit-mode
<script src="/keyjs.js" type="text/javascript"></script> <script type="text/javascript"> keyjs_initialize({ "u": [ "keyjs_goto", "../index.html" ], "h": [ "keyjs_goto", "http://ryuslash.org" ] }); </script>
About
git-auto-commit-mode
is a minor mode for GNU
Emacs1 that, when enabled, tries
to commit changes to a file after every save. It can also try to
push to the default upstream.
Features
-
Automatically commit changes to a file after each save.
- The commit message will contain the file name relative to the repository root.
- Optionally, automatically push commits to the default upstream.
Usage
To be able to use it you need to put it somewhere in your
load-path
and load it, for example:
(add-to-list 'load-path "~/path/to/git-auto-commit-mode.el")
(auto load 'git-auto-commit-mode "git-auto-commit-mode")
Automatically commit
There are a few ways this could be used:
As file-local variable
This is the way I use it and I wanted to use it. Any file that you would like to have automatically committed upon saving gets this prop-line:
;; -*- eval: (git-auto-commit-mode 1) -*-
Or, if you're in anything older than emacs 24:
;; -*- mode: git-auto-commit -*-
As a directory-local variable
Put the following in a .dir-locals.el
file in any directory where
you want to enable git-auto-commit-mode
for all files:
((nil . ((git-auto-commit-mode . t))))
As a hook
I doubt this will ever really be useful, but it is possible:
(add-hook 'some-hook 'git-auto-commit-mode)
Automatically push
If you wish to push your changes each time the file is saved you
should set gac-automatically-push-p
to t
. This is a buffer local
variable, so you will have to put it in your dir-local or
file-local variables. Alternatively, if you're sure you can also
set the default value to t
, like so:
(setq-default gac-automatically-push-p t)