GIT-STRIP-MERGE(1)

NAME
git-strip-merge - A git-merge wrapper that deletes files on a "foreign" branch before merging

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/*"

SEE ALSO
https://github.com/MestreLion/git-tools

AUTHOR
Rodrigo Silva (MestreLion) linux@rodrigosilva.com