man cg-commit (Commandes) - commit into a git repository

NAME

cg-commit - commit into a git repository

SYNOPSIS

cg-commit [-m MESSAGE]... [-C] [-e | -E] [-c COMMIT_ID] [FILE]... [< MESSAGE]

DESCRIPTION

Commits your changes to the GIT repository. Accepts the commit message from stdin. If the commit message is not modified the commit will be aborted.

By default, the commit is recorded as made by you, but you can change that - useful if you are e.g. applying a patch submitted by someone else. See the ENVIRONMENT section below.

Note that you can undo a commit by the cg-admin-uncommit(1) command, but that is possible only under special circumstances. See the CAVEATS section of its documentation.

OPTIONS

-c COMMIT_ID
Copy the commit from a given commit ID (that is the author information and the commit message - NOT committer information). This option is typically used when replaying commits from one lineage or repository to another.
-C
Make cg-commit(1) ignore the cache and just commit the thing as-is. Note, this is used internally by Cogito when merging, and it is also useful when you are performing the initial commit manually. This option does not make sense when files are given on the command line.
-m MESSAGE
Specify the commit message, which is used instead of starting up an editor (if the input is not stdin, the input is appended after all the -m messages). Multiple -m parameters are appended to a single commit message, each as separate paragraph.
-e
Force the editor to be brought up even when -m parameters were passed to cg-commit(1).
-E
Force the editor to be brought up and do the commit even if the default commit message is not changed.
-f
Force the commit even when there's "nothing to commit", that is the tree is the same as the last time you committed, no changes happened.
-N
Don't add the files to the object database, just update the caches and the commit information. This is for special purposes when you might not actually _have_ any object database. This option is normally not interesting.
-q
Be quiet in case there's "nothing to commit", and silently exit returning success. In a sense, this is the opposite to -f.
-h, --help
Print usage help.

FILES

$GIT_DIR/author
If exists, it should be in the format Person Name <email@addy> (both parts are optional) and the GIT_AUTHOR_* environment variables will be set accordingly if they are not present in the environment yet.
$GIT_DIR/commit-template
If the file exists it will be used as a template when creating the commit message. The template file makes it possible to automatically add Signed-off-by line to the log message.
$GIT_DIR/hooks/commit-post
If the file exists and is executable it will be executed upon completion of the commit. The script is passed two arguments. The first argument is the commit ID and the second is the branchname. A sample commit-post script might look like:
#!/bin/sh
id=$1
branch=$2
echo "Committed $id in $branch" | mail user@host

ENVIRONMENT VARIABLES

GIT_AUTHOR_* general notes
Those variables describe who is the author of the change being committed. It defaults to you, but it is considered good practice to change this to the actual author of the change if the patch was submitted by someone else etc.
GIT_AUTHOR_NAME
Author's name. This defaults to the GECOS field of your /etc/passwd entry, which is taken almost verbatim. (Note that this is carried over by GIT, not Cogito, and may change in the future GIT versions.)
GIT_AUTHOR_EMAIL
Author's e-mail address. This defaults to your username@hostname.domainname, but you should change it to your real email you use if it is different.
GIT_AUTHOR_DATE
Date, useful when applying patches submitted over e-mail.
GIT_COMMITTER_NAME
Committer's name. It defaults to the same as GIT_AUTHOR_NAME.
GIT_COMMITTER_EMAIL
Committer's e-mail address. It defaults to the same as GIT_AUTHOR_EMAIL. The recommended policy is not to change this, though - it may not be necessarily a valid e-mail address, but its purpose is more to identify the actual user and machine where the commit was done. However, it is obviously ultimately a policy decision of a particular project to determine whether this should be a real e-mail or not.
EDITOR
The editor used for entering revision log information.

COPYRIGHT

Copyright &#169; Petr Baudis, 2005

SEE ALSO

cg-commit command is part of cogito(7), a toolkit for managing git(7) trees.