A cherry-pick applies the changes from a given commit (from another branch) onto the current branch. A rebase resets the branch to the state of another branch (upstream) and then re-applies your local changes by cherry-picking each of your local commits onto the upstream commit history.
git_rebase_list(upstream = NULL, repo = ".") git_rebase_commit(upstream = NULL, repo = ".") git_reset_hard(ref = "HEAD", repo = ".") git_reset_soft(ref = "HEAD", repo = ".") git_reset_mixed(ref = "HEAD", repo = ".") git_cherry_pick(commit, repo = ".") git_ahead_behind(upstream = NULL, ref = "HEAD", repo = ".")
branch to which you want to rewind and re-apply your local commits. The default uses the remote upstream branch with the current state on the git server, simulating git_pull.
string with a branch/tag/commit
id of the commit to cherry pick
git_rebase_list shows your local commits that are missing from the
history, and if they conflict with upstream changes. It does so by performing
a rebase dry-run, without committing anything. If there are no conflicts, you
git_rebase_commit to rewind and rebase your branch onto
Gert only support a clean rebase; it never leaves the repository in unfinished
"rebasing" state. If conflicts arise,
git_rebase_commit will raise an error
without making changes.