Git add and commit in one command
Is there any way I can do
git add -A
git commit -m "commit message"
in one command?
I seem to be doing those two commands a lot, and if Git had an option like git commit -Am "commit message"
, it would make life that much more convenient.
git commit
has the -a
modifier, but it doesn't quite do the same as doing git add -A
before committing. git add -A
adds newly created files, but git commit -am
does not. What does?
Solution 1:
You can use git aliases, e.g.
git config --global alias.add-commit '!git add -A && git commit'
and use it with
git add-commit -m 'My commit message'
EDIT: Reverted back to ticks ('), as otherwise it will fail for shell expansion on Linux. On Windows, one should use double-quotes (") instead (pointed out in the comments, did not verify).
Solution 2:
git commit -am "message"
is an easy way to tell git to delete files you have deleted, but I generally don't recommend such catch-all workflows. Git commits should in best practice be fairly atomic and only affect a few files.
git add .
git commit -m "message"
is an easy way to add all files new or modified. Also, the catch-all qualification applies. The above commands will not delete files deleted without the git rm
command.
git add app
git commit -m "message"
is an easy way to add all files to the index from a single dir, in this case the app
dir.
Solution 3:
To keep it in one line use:
git add . && git commit -am "comment"
This line will add and commit all changed and added files to repository.