What is fast-forward commit?
A commit B
is said to be a fast-forward from another commit A
if and only if commit A
is found in the history
of commit B
. In other words, commit B
is just commit A
with some more commits applied onto it.
Example of a fast-forward commit
In the example below, branch_b
(aka Fifth commit
) is a fast-forward from branch_a
:
branch_a
First commit
Second commit
branch_b
First commit
Second commit
Third commit
Fourth commit
Fifth commit
Example of a non-fast-forward commit
In the example below, branch_b
is not a fast-forward from branch_a
because An oddball commit
is not in the history of branch_b
:
branch_a
First commit
Second commit
An oddball commit
branch_b
First commit
Second commit
Third commit
Fourth commit
Fifth commit
To get branch_a
to become a fast-forward from branch_b
, you could rebase it on top of branch_b
like so:
git checkout branch_a
git rebase branch_b
Once you do this, you will have all of branch_b
’s commits in your history, and your own branch_a
commits applied after those.