hg commit [OPTION]... [FILE]...

aliases: ci

commit the specified files or all outstanding changes

Commit changes to the given files into the repository. Unlike a centralized SCM, this operation is a local operation. See "hg push" for a way to actively distribute your changes.

If a list of files is omitted, all changes reported by "hg status" will be committed.

If you are committing the result of a merge, do not provide any filenames or -I/-X filters.

If no commit message is specified, Mercurial starts your configured editor where you can enter a message. In case your commit fails, you will find a backup of your message in ".hg/last-message.txt".

The --amend flag can be used to amend the parent of the working directory with a new commit that contains the changes in the parent in addition to those currently reported by "hg status", if there are any. The old commit is stored in a backup bundle in ".hg/strip-backup" (see "hg help bundle" and "hg help unbundle" on how to restore it).

Message, user and date are taken from the amended commit unless specified. When a message isn't specified on the command line, the editor will open with the message of the amended commit.

It is not possible to amend public changesets (see "hg help phases") or changesets that have children.

See "hg help dates" for a list of formats valid for -d/--date.

Returns 0 on success, 1 if nothing changed.


-A --addremove mark new/missing files as added/removed before committing
--close-branch mark a branch as closed, hiding it from the branch list
--amend amend the parent of the working dir
-s --secret use the secret phase for committing
-e --edit invoke editor on commit messages
-I --include PATTERN [+] include names matching the given patterns
-X --exclude PATTERN [+] exclude names matching the given patterns
-m --message TEXT use text as commit message
-l --logfile FILE read commit message from file
-d --date DATE record the specified date as commit date
-u --user USER record the specified user as committer
-S --subrepos recurse into subrepositories

[+] marked option can be specified multiple times

global options:

-R --repository REPO repository root directory or name of overlay bundle file
--cwd DIR change working directory
-y --noninteractive do not prompt, automatically pick the first choice for all prompts
-q --quiet suppress output
-v --verbose enable additional output
--config CONFIG [+] set/override config option (use 'section.name=value')
--debug enable debugging output
--debugger start debugger
--encoding ENCODE set the charset encoding (default: ascii)
--encodingmode MODE set the charset encoding mode (default: strict)
--traceback always print a traceback on exception
--time time how long the command takes
--profile print command execution profile
--version output version information and exit
-h --help display help and exit
--hidden consider hidden changesets
--color TYPE when to colorize (boolean, always, auto, or never) (default: auto)

[+] marked option can be specified multiple times