'\" t .\" Title: git-ime .\" Author: Osamu Aoki .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 2021-06-04 .\" Manual: git-ime User Manual .\" Source: git-ime .\" Language: English .\" .TH "GIT\-IME" "1" "2021\-06\-04" "git-ime" "git-ime User Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" git-ime \- An interactive git commit split helper tool .SH "SYNOPSIS" .HP \w'\fBgit\-ime\fR\ 'u \fBgit\-ime\fR [\fB\-a\fR] [\fB\-\-auto\fR] [\fB\-n\fR] [\fB\-\-notag\fR] [\fB\-v\fR] [\fB\-\-verbose\fR] [\fB\-h\fR] [\fB\-\-help\fR] .SH "DESCRIPTION" .PP This \fBgit ime\fR is a simple shell wrapper script on \fBgit\fR and \fBimediff\fR to split the latest commit from HEAD^ to HEAD on the current git repository into multiple commits\&. .PP If any staged changes or local uncommitted changes are found in the git repository, \fBgit ime\fR immediately exits without changes to be on the safe side\&. .PP If the latest commit involves multiple files, this big commit is split by the file into multiple smaller commits involving a single file\&. .PP 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 \fBimediff\fR interactively\&. .PP This \fBgit\-ime\fR is not only useful at the checked out branch head but also at "edit" prompt during the interactive execution of \fBgit rebase \-i \fR\fB\fItreeish\fR\fR\&. Execute \fBgit\-ime\fR after committing the pending commit\&. .PP To preserve good accessibility to the original state, this \fBgit\-ime\fR tags the original commit with "git\-ime\-aYYYYMMDD\-HHMMSS" if it hasn\*(Aqt been tagged\&. Also this \fBgit\-ime\fR tags its final commit with "git\-ime\-zYYYYMMDD\-HHMMSS" for the convenience of subsequent operations such as \fBgit\-rebase\fR\&. This is not applicable during \fBgit\-rebase\fR \&. .PP Please note this \fBgit\-ime\fR creates or overwrites \fIfile\fR\&.tmp_a and \fIfile\fR\&.tmp_b files\&. So they should not exist before execution of this command\&. .SH "OPTIONS" .PP \fB\-a\fR, \fB\-\-auto\fR .RS 4 When operating on a single file change commit, the \fBgit ime\fR command executes \fBimediff\fR with \fB\-\-macro "Abw"\fR to select a series of minimum partial changes automatically and repeatedly to create a series of commits, instead\&. .RE .PP \fB\-v\fR, \fB\-\-verbose\fR .RS 4 The \fBgit ime\fR command is executed with verbose console outputs\&. .RE .PP \fB\-n\fR, \fB\-\-notag\fR .RS 4 Disable automatic tagging feature\&. Since the use of this option is desirable if this \fBgit ime\fR command is used during the \fBgit rebase\fR operation\&. In such case, this is automatically turned on as the default behavior\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 The \fBgit ime\fR outputs help message\&. .RE .SH "SEE ALSO" .PP imediff (1), git(1), and git\-rebase(1)\&. .SH "COPYRIGHT" .PP This manual page as well as the program itself was written by Osamu Aoki ()\&. This document has been placed into the Public Domain\&. .SH "AUTHOR" .PP \fBOsamu Aoki\fR .RS 4 Original author of this script\&. .RE .SH "COPYRIGHT" .br Copyright \(co 2018-2021 Osamu Aoki .br