GIT-REPLAY(1) Git Manual GIT-REPLAY(1) (NAME) git-replay - ( bare) (SYNOPSIS) (!) git replay ([--ontained] -- | --dvance= | --evert=) [--ef=] [--ef-action=] (DESCRIPTION) (replay) . (working tree) (index) . ( ). git update-ref --din --ef-action=print ( (OUTPUT) ). . . (OPTIONS) -- . . -- () git rebase --pdate-refs . --dvance= . . -- . --evert= (reverted) . --evert ( ) . . git revert . git revert : "Revert" "This reverts commit ." . "Revert" "Reapply" . cherry-pick git revert . -- --dvance . --ontained ( -- ) . --ontained . -- . --ef= . . -- . --dvance --evert . --ontained . --ef-action[=] . : o update (): . ( ). o print: update-ref (pipeline) . git update-ref --din . replay.refAction . "Specifying Ranges" git-rev-parse(1) . --dvance= --evert=, . . (Commit Limiting) . ( --since= --grep= ) . --reverse . -, -n , --max-count= . --max-count-oldest= . --skip= . --since=, --after= . today . --since-as-filter= . , . --until=, --before= . --author=, --committer= / . --author=, ( --committer=). --grep-reflog= . --grep-reflog, . --walk-reflogs . --grep= . --grep=, ( --all-match ). --notes . --all-match --grep . --invert-grep --grep= . -i, --regexp-ignore-case . --basic-regexp (Basic Regular Expressions) . -E, --extended-regexp (Extended Regular Expressions) . -F, --fixed-strings ( ). -P, --perl-regexp (Perl-compatible regular expressions) . . . --remove-empty . --merges . --min-parents=2 . --no-merges . --max-parents=1 . --min-parents=, --max-parents=, --no-min-parents, --no-max-parents ( ) . --max-parents=1 --no-merges, --min-parents=2 --merges . --max-parents=0 --min-parents=3 (octopus merges) . --no-min-parents --no-max-parents ( ) . --min-parents=0 ( ) --max-parents=-1 ( ). --first-parent . (topic branch) . --exclude-first-parent-only ( ^), . . --maximal-only . --not ^ ( ) --not . --stdin stdin . . --all refs/, HEAD, . --branches[=] refs/heads . (shell glob) . ?, *, [ /* . --tags[=] refs/tags . . ?, *, [ /* . --remotes[=] refs/remotes . . ?, *, [ /* . --glob= . refs/ . ?, *, [ /* . --exclude= --all, --branches, --tags, --remotes, --glob . --all, --branches, --tags, --remotes, --glob ( ). --branches, --tags, --remotes refs/heads, refs/tags, refs/remotes --glob --all refs/ . /* . --exclude-hidden=(fetch|receive|uploadpack) git-fetch, git-receive-pack git-upload-pack fetch.hideRefs, receive.hideRefs uploadpack.hideRefs transfer.hideRefs ( git-config(1) ). --all --glob . --reflog . --alternate-refs . objects/info/alternates . core.alternateRefsCommand . git-config(1) . --single-worktree ( git-worktree(1) ): --all, --reflog --indexed-objects. . --ignore-missing . --bisect refs/bisect/bad --not refs/bisect/good-* . --stdin . --all --glob= . -- . --not . --cherry-mark --cherry-pick ( ) = + . --cherry-pick << >> . A B --left-right ( --left-right ). (cherry- pick) ( << b>> A ). . --left-only, --right-only < > --left-right . --cherry-pick --right-only A...B B A A . + git cherry A B . --cherry-pick --right-only --no-merges . --cherry --right-only --cherry-mark --no-merges; git log --cherry upstream...mybranch, git cherry upstream mybranch. -g, --walk-reflogs . ( ^, .., ... ). --pretty oneline reference ( ) . ref@{} ( ) ref@{} ( ) : 1. ref@{} . 2. ref@{now} . 3. --date --date . 4. . --pretty=oneline, . --reverse . git-reflog(1) . --pretty=reference, . --merge HEAD... MERGE_HEAD, CHERRY_PICK_HEAD, REVERT_HEAD REBASE_HEAD . . - . --boundary . - . (History Simplification) . : . : . --simplify-by-decoration . . : (Default mode) . ( ) . --show-pulls TREESAME TREESAME . << >> . --full-history . --dense . --sparse . --simplify-merges --full-history . --ancestry-path[=] ( .. ^), , , . ( ) . . . foo . foo !TREESAME ( ) TREESAME ( ) . ( diff foo .) . foo : .-A---M---N---O---P---Q / / / / / / I B C D E Y \ / / / / / `-------------' X A---Q . : o I foo asdf quux quux . I !TREESAME . o A, foo foo . o B A . M (trivial) TREESAME . o C foo N foobar TREESAME . o D foo baz . O N D foobarbaz TREESAME . o E quux xyzzy P quux xyzzy . P O TREESAME E . o X side Y . Y X TREESAME . Q side P Q P TREESAME Y . rev-list --full-history / ( --parents --children) . . (Default mode) TREESAME ( --sparse ). TREESAME . ( TREESAME .) . : .-A---N---O / / / I---------D TREESAME ( ) B . C N TREESAME . I !TREESAME . / --parents . --full-history : TREESAME . ! : I A B N D O P Q M TREESAME . E, C B B !TREESAME . / . --full-history !TREESAME ( --sparse ). . : . : .-A---M---N---O---P---Q / / / / / I B / D / \ / / / / `-------------' --full-history . E TREESAME P E I . C N, X, Y Q . TREESAME : --dense TREESAME . --sparse . --full-history, : TREESAME . --simplify-merges --full-history ( ). C C' : o C' C . o P C' P' . TREESAME TREESAME . o C' ( ) !TREESAME . . --full-history . : .-A---M---N---O / / / I B D \ / / `---------' N, P, Q --full-history : o N's I M . N !TREESAME . o P's I . P TREESAME . o Q's Y X . X TREESAME . Q TREESAME . : --ancestry-path[=] , , . : D---E-------F / \ \ B---C---G---H---I---J / \ A-------K---------------L--M D..M M D . M D << M D >>. A B ( D). M D D..M D C K. --ancestry-path . D..M : E-------F \ \ G---H---I---J \ L--M --ancestry-path=D --ancestry-path D..M . D..M . --ancestry-path=H D..M : E \ C---G---H---I---J \ L--M --ancestry-path=K D..M : K---------------L--M --show-pulls, . . --full-history --simplify-merges : .-A---M-----C--N---O---P / / \ \ \/ / / I B \ R-'`-Z' / \ / \/ / \ / /\ / `---X--' `---Y--' I file.txt A, B, X . C, Z, Y file.txt . M A B TREESAME . R file.txt M file.txt X . R X TREESAME M . N file.txt R N R TREESAME C . O P TREESAME Z Y TREESAME . N R TREESAME . : I---X --full-history, . A B M O P . : .-A---M--------N---O---P / / \ \ \/ / / I B \ R-'`--' / \ / \/ / \ / /\ / `---X--' `------' O P file.txt . file.txt . : --full-history . --simplify-merges, O P . O P . TREESAME . N : .-A---M--. / / \ I B R \ / / \ / / `---X--' A, B, X . M R . A B << >> . . . --simplify-merges . . (auditing) . . R . N R X . X A B . --show-pulls TREESAME TREESAME . --show-pulls <<>> (pull) . --show-pulls ( ) : I---X---R---N R N X R . A B . --show-pulls --simplify-merges : .-A---M--. N / / \ / I B R \ / / \ / / `---X--' M R N M . N R <<>> . --simplify-by-decoration . !TREESAME ( ) () () . TREESAME ( ). (Commit Ordering) . --date-order . --author-date-order . --topo-order . : ---1----2----4----7 \ \ 3----5----6----8--- git rev-list --date-order : 8 7 6 5 4 3 2 1. --topo-order, 8 6 5 3 7 4 2 1 ( 8 7 4 2 6 5 3 1) . --reverse ( Commit Limiting ) . --walk-reflogs . (Object Traversal) . --no-walk[=(sorted|unsorted)] . . unsorted . ( sorted ) . --graph . --do-walk --no-walk . (OUTPUT) --ef-action=update . --ef-action=print git update-ref --din . : update refs/heads/branch1 ${NEW_branch1_HASH} ${OLD_branch1_HASH} update refs/heads/branch2 ${NEW_branch2_HASH} ${OLD_branch2_HASH} update refs/heads/branch3 ${NEW_branch3_HASH} ${OLD_branch3_HASH} . --dvance --evert -- stderr . (EXIT STATUS) 0 . 1 . 0 1 . (EXAMPLES) (rebase) mybranch target: $ git replay --i/main..mybranch . : $ git replay --ef-action=print --i/main..mybranch update refs/heads/mybranch ${NEW_mybranch_HASH} ${OLD_mybranch_HASH} (cherry-pick) mybranch target: $ git replay --dvance=target origin/main..mybranch mybranch target . $ git replay --ontained --i/main origin/main..tipbranch (branch1 branch2 tipbranch) . git replay A..B : $ git replay --i/main ^base branch1 branch2 branch3 branch1 branch2 branch3 ( base ) origin/main . base . (revert) : $ git replay --evert=main topic~2..topic topic main main . topic main . (merge request) ( ) git merge-tree --rge-base $TIP HEAD $BASE . : $ git replay --ach aabbcc..ddeeff aabbcc..ddeeff 112233 refs/heads/mybranch . . (GIT) git(1) Git 2.55.0 2026-06-29 GIT-REPLAY(1)