[git] merge one local branch into another local branch

I have multiple branches which are branched off the master (each in a separate subdirectory).

  • Branch1: new development, not yet completely finished
  • Branch2: hotfix for a problem, but still under test
  • Branch3: mess around branch, which I will not restore

Before testing of the hotfix is finished I would like to have the code already available in Branch1, so I can continue developing with the fix in place.
(But since my experience with git is not that much I first started to play around with merge in a 3rd branch, especially created to mess around in, before I mess up either Branch1 or Branch2)

In my 3rd branch I first tried the following:

git merge feature/Branch1

but this gave the following error:

fatal: 'feature/Branch1' does not point to a commit

I next did a commit -a in my Branch1 and tried again, but it keeps giving the same error.

What am I doing wrong? What should I do to merge the code from - in this case - Branch1 with Branch3?

This question is related to git merge

The answer is


  1. git checkout [branchYouWantToReceiveBranch] - checkout branch you want to receive branch
  2. git merge [branchYouWantToMergeIntoBranch]

Just in case you arrived here because you copied a branch name from Github, note that a remote branch is not automatically also a local branch, so a merge will not work and give the "not something we can merge" error.

In that case, you have two options:

git checkout [branchYouWantToMergeInto]
git merge origin/[branchYouWantToMerge]

or

# this creates a local branch
git checkout [branchYouWantToMerge]

git checkout [branchYouWantToMergeInto]
git merge [branchYouWantToMerge]

To merge one branch into another, such as merging "feature_x" branch into "master" branch:

git checkout master

git merge feature_x

This page is the first result for several search engines when looking for "git merge one branch into another". However, the original question is more specific and special case than the title would suggest.
It is also more complex than both the subject and the search expression. As such, this is a minimal but explanatory answer for the benefit of most visitors.