git_rebase: Cherry-Pick and Rebase

View source: R/rebase.R

git_rebaseR Documentation

Cherry-Pick and Rebase

Description

  • git_cherry_pick() applies the changes from a given commit (from another branch) onto the current branch. *git_rebase_commit() 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() shows your local commits that are missing from the upstream history, and if they conflict with upstream changes.

Usage

git_rebase_list(upstream = NULL, repo = ".")

git_rebase_commit(upstream = NULL, repo = ".")

git_cherry_pick(commit, repo = ".")

git_ahead_behind(upstream = NULL, ref = "HEAD", repo = ".")

Arguments

upstream

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().

repo

The path to the git repository. If the directory is not a repository, parent directories are considered (see git_find()). To disable this search, provide the filepath protected with I(). When using this parameter, always explicitly call by name (i.e. ⁠repo = ⁠) because future versions of gert may have additional parameters.

commit

id of the commit to cherry pick

ref

string with a branch/tag/commit

Details

To find if your local commits are missing from upstream, git_rebase_list() first performs a rebase dry-run, without committing anything. If there are no conflicts, you can use git_rebase_commit() to rewind and rebase your branch onto upstream.

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.

Related libgit2 documentation

rebase, cherrypick, graph.

See Also

Other git: git_archive, git_branch(), git_commit(), git_config(), git_diff(), git_fetch(), git_history, git_ignore, git_merge(), git_remote, git_repo, git_reset(), git_restore(), git_revert(), git_signature(), git_stash, git_tag, git_worktree


gert documentation built on July 22, 2026, 5:07 p.m.