SYNOPSIS
git-strip-merge [git-merge options] [-M <commitmsg>] <branch> FILE...DESCRIPTION
git-merge that deletes files on "foreign" <branch> before merging.Useful for ignoring a folder in <branch> before merging it with current branch. Works by deleting FILE(S) in a detached commit based on <branch>, and then performing the merge of this new commit in the current branch. Note that <branch> is not changed by this procedure. Also note that <branch> may actually be any reference, like a tag, or a remote branch, or even a commit SHA.
For more information, see <http://stackoverflow.com/questions/3111515>
OPTIONS
- -h, --help
- show help message and exit
- -v, --verbose
- do not use -q to suppress normal output of internal steps from git checkout, rm, commit. By default, only git merge output is shown. Errors, however, are never suppressed.
- -M <message>, --msgcommit=<message>
- message for the removal commit in <branch>. Not to be confused with the message of the merge commit, which is set by -m. Default message is: "remove files from '<branch>' before merge".
- -m <message>, --message=<message>
- message for the merge commit. Since we are not merging <branch> directly, but rather a detached commit based on it, we forge a message similar to git's default for a branch merge. Otherwise git would use in message the full and ugly SHA1 of our commit. Default message is: "Merge stripped branch '<branch>'".
For both commit messages, the token "<branch>" is replaced for the actual <branch> name.
Additional options are passed unchecked to git merge.
All options must precede <branch> and FILE(s), except -h and --help that may appear anywhere on the command line.
EXAMPLE
git-strip-merge design "photoshop/*"