Git supports almost any workflow. We have often encountered a situation that requires a merge commit while merging a feature, even though it can be done with a fast-forward merge. Those who requested it often use it to indicate that you have actually merged in a feature and want to store the information in the repository.
Step 1 : Start by checking out a local branch remoteOldbugFix that tracks origin/stable-3.1:
Step 2 : To force a merge commit, you need to use the --no-ff flag; no-ff means no fast forward. We will also use the --quiet flag to minimize the output and --edit to allow us to edit the commit message. Unless you have a merge conflict, Git will create the merge commit for you automatically:
Step 3 : The commit message editor will open, and you can write a commit message. Closing the editor creates the merge commit and we are done.
Step 4 : To verify this, you can reset back to origin/stable-3.1 and perform the merge without the --no-ff flag:
Step 5 : Now, perform the merge with the following command:
Step 6 : You can see the difference using Gitk. The following screenshot shows the fast- forward merge; as you can see, our remoteOldBugFix branch points to origin/stable-3.2: