DOKK / manpages / debian 12 / imediff / git-ime.1.en
GIT-IME(1) git-ime User Manual GIT-IME(1)

git-ime - An interactive git commit split helper tool

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

This git ime 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, git ime immediately exits without changes to be on the safe side.

If the latest commit involves multiple files, this big commit is split by the file into multiple smaller commits involving a single file.

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.

This git-ime is not only useful at the checked out branch head but also at "edit" prompt during the interactive execution of git rebase -i treeish. 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.

-a, --auto

When operating on a single file change commit, the git ime 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 git ime command is executed with verbose console outputs.

-n, --notag

Disable automatic tagging feature. Since the use of this option is desirable if this git ime command is used during the git rebase operation. In such case, this is automatically turned on as the default behavior.

-h, --help

The git ime outputs help message.

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

This manual page as well as the program itself was written by Osamu Aoki (<osamu@debian.org>). This document has been placed into the Public Domain.

Osamu Aoki

Original author of this script.

Copyright © 2018-2021 Osamu Aoki <osamu@debian.org>

2021-06-04 git-ime