logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

git-ime - An interactive git commit split helper tool

Author

OsamuAoki
           Original author of this script.

Description

       This gitime is a simple shell wrapper script on git and imediff to split the latest commit from HEAD^ to
       HEAD on the current git repository into multiple commits.

       If any staged changes or local uncommitted changes are found in the git repository, gitime immediately
       exits without changes to be on the safe side.

       If the latest commit involves multiple files, gitime splits this big commit into multiple smaller
       commits involving a single file for each commit. When the first line of the commit message is "-", each
       split commit message becomes just filename only.

       If the latest commit involves only a single file, the commit is split into multiple smaller commits
       involving a set of meaningful partial changes selected by imediff interactively. The log of imediff is
       stored in the .git/imediff.log file

       This git-ime is not only useful at the checked out branch head but also at "edit" prompt during the
       interactive execution of gitrebase-itreeish. Execute git-ime after committing the pending commit.

       To preserve good accessibility to the original state, this git-ime tags the original commit with
       "git-ime-aYYYYMMDD-HHMMSS" if it hasn't been tagged. Also this git-ime tags its final commit with
       "git-ime-zYYYYMMDD-HHMMSS" for the convenience of subsequent operations such as git-rebase. This is not
       applicable during git-rebase .

       Please note this git-ime creates or overwrites file.tmp_a and file.tmp_b files. So they should not exist
       before execution of this command.

Name

       git-ime - An interactive git commit split helper tool

Options

-a, --auto
           When operating on a single file change commit, the gitime command executes imediff with --macro"Abw" to select a series of minimum partial changes automatically and repeatedly to create a series
           of commits, instead.

       -v, --verbose
           The gitime command is executed with verbose console outputs.

       -n, --notag
           Disable automatic tagging feature. Since the use of this option is desirable if this gitime command
           is used during the gitrebase operation. In such case, this is automatically turned on as the default
           behavior.

       -h, --help
           The gitime outputs help message.

See Also

imediff(1), git(1), and git-rebase(1).

Synopsis

git-ime [-a] [--auto] [-n] [--notag] [-v] [--verbose] [-h] [--help]

See Also