Git merge reports "Already up-to-date" though there is a difference
Solution 1:
The message “Already up-to-date” means that all the changes from the branch you’re trying to merge have already been merged to the branch you’re currently on. More specifically it means that the branch you’re trying to merge is a parent of your current branch. Congratulations, that’s the easiest merge you’ll ever do. :)
Use gitk
to take a look at your repository. The label for the “test” branch should be somewhere below your “master” branch label.
Your branch is up-to-date with respect to its parent. According to merge there are no new changes in the parent since the last merge. That does not mean the branches are the same, because you can have plenty of changes in your working branch and it sounds like you do.
Edit 10/12/2019:
Per Charles Drake in the comment to this answer, one solution to remediate the problem is:
git checkout master
git reset --hard test
This brings it back to the 'test' level.
Then do:
git push --force origin master
in order to force changes back to the central repo.
Solution 2:
This often happens to me when I know there are changes on the remote master, so I try to merge them using git merge master
. However, this doesn't merge with the remote master, but with your local master.
So before doing the merge, checkout master, and then git pull
there. Then you will be able to merge the new changes into your branch.