merge one local branch into another local branch

Question

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?

Answer

First, checkout to your Branch3:

git checkout Branch3

Then merge the Branch1:

git merge Branch1

And if you want the updated commits of Branch1 on Branch2, you are probaly looking for git rebase

git checkout Branch2
git rebase Branch1

This will update your Branch2 with the latest updates of Branch1.

Find out which remote branch a local branch is tracking

How can I have multiple working directories with Git?