scripts/git/README

49 lines
1.6 KiB
Plaintext

# git-cherry-move #
git-cherry-move is like git cherry-pick, but it moves the commit
instead of copying it.
It is designed to move a single commit from a branch head to another
branch head. It is the equivalent of git cherry-pick followed by git
reset.
Usage:
git-cherry-move source_branch destination_branch [ reset-arg ]
reset-arg is passed as the first argument of reset, so pleas be careful!
To move the last commit of source_branch on top of destination_branch,
you can type the following:
git-cherry-move source_branch destination_branch
After this, you will be on source_branch, the HEAD being on the parent
of the old source_branch head. The changes introduced by the moved
commit are not deleted from the file system (soft reset).
If you want these changes to be deleted (hard reset), use --hard as the
*last* argument:
git-cherry-move source_branch destination_branch --hard
To activate the git cherry-move command, put the git-cherry-move script
in a directory in the PATH (for instance /usr/local/bin) and add an
alias:
git config --global alias.cherry-move "\!sh -c 'git-cherry-move'"
# git-merge-ff-only #
git-merge-ff-only main_branch topic_branch is the equivalent of the
following commands:
git checkout main_branch && git merge --ff-only topic_branch
except that main_branch is not checked out. The reference is updated
directly (if possible), and HEAD stays on whatever branch was checked
out before running the command.
To activate the git merge-ff-only command, put the git-merge-ff-only
script in a directory in the PATH (for instance /usr/local/bin) and
add an alias:
git config --global alias.merge-ff-only "\!sh -c 'git-merge-ff-only'"