git-strip-merge (1) - Linux Man Pages
git-strip-merge - A git-merge wrapper that deletes files on a "foreign" branch before merging
SYNOPSISgit-strip-merge [git-merge options] [-M <commitmsg>] <branch> FILE...
DESCRIPTIONgit-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>
- show help message and exit
- do not use -q to supress normal output of internal steps from git checkout, rm, commit. By default, only git merge output is shown. Errors, however, are never supressed.
- 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".
- 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.
git-strip-merge design "photoshop/*"
AUTHORRodrigo Silva (MestreLion) linux [at] rodrigosilva.com