Fast-forward
Also called fast forward.
A fast-forward is a mergeA merge brings another branch’s snapshots onto the branch you are on, usually after a person agrees. that only moves your branchA branch is a named line of snapshots, so a new idea can grow beside the shared line. pointer ahead, because the other branch is a straight descendant of the commitA commit records a project state in Git, plus history information such as the parent commit, the author, and a message. you already have.
Example
Main is at commitA commit records a project state in Git, plus history information such as the parent commit, the author, and a message. A. Your branchA branch is a named line of snapshots, so a new idea can grow beside the shared line. added commit B on top of A, and nobody else committed to main. Updating main with your branch fast-forwards main from A to B. There is no extra mergeA merge brings another branch’s snapshots onto the branch you are on, usually after a person agrees. commit. If main had also gained a different commit, the histories would have diverged, and this move would not be a fast-forward.
Why it matters
GitGit is a version-control tool that records changes to files and helps people combine work over time.'s glossary says a fast-forward happens when you mergeA merge brings another branch’s snapshots onto the branch you are on, usually after a person agrees. another branchA branch is a named line of snapshots, so a new idea can grow beside the shared line.'s changes that are a descendant of your revision. Git does not make a new merge commitA commit records a project state in Git, plus history information such as the parent commit, the author, and a message.. It updates your branch to point at the same revision as the branch you are merging. The glossary says this happens frequently on a remote-tracking branch of a remote repositoryA repository is a project's stored files and their recorded change history, commonly managed with Git..
A mergeA merge brings another branch’s snapshots onto the branch you are on, usually after a person agrees. commitA commit records a project state in Git, plus history information such as the parent commit, the author, and a message. is the other outcome. GitGit is a version-control tool that records changes to files and helps people combine work over time.'s glossary says that unless the merge is a fast-forward, a successful merge creates a new commit whose parents are the tips of the merged branches. That commit exists because the histories diverged. A fast-forward is the case where they did not.
How it shows up on bot.ski
On bot.ski, the GitGit is a version-control tool that records changes to files and helps people combine work over time. guide and the Merge conflictA merge conflict happens when Git cannot automatically reconcile competing changes. glossary page are about combining history. A fast-forward is the case where Git can move the branchA branch is a named line of snapshots, so a new idea can grow beside the shared line. pointer without a new mergeA merge brings another branch’s snapshots onto the branch you are on, usually after a person agrees. commitA commit records a project state in Git, plus history information such as the parent commit, the author, and a message.. Reading this page does not merge a branch.
Common confusion
A fast-forward is not a rebaseRebase replays commits onto another starting point, so they sit on top of a different commit., and it is not a merge conflictA merge conflict happens when Git cannot automatically reconcile competing changes.. Nothing is rewritten. The branchA branch is a named line of snapshots, so a new idea can grow beside the shared line. pointer moves to a commitA commit records a project state in Git, plus history information such as the parent commit, the author, and a message. that was already there. If the histories diverged, GitGit is a version-control tool that records changes to files and helps people combine work over time. cannot fast-forward, and combining them may stop in a conflict a person has to resolve.
Sources
Updated October 3, 2026.
