Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Difference between git merge master and origin/master?

Tags:

git

Result of the command git merge origin/master:

javanoob@DELL:~/workspace/PROJECT_One$ git merge origin/master 
Updating d83ef9c..dd520ea
error: The following untracked working tree files would be overwritten by merge:
    sample.txt
Please move or remove them before you can merge.
Aborting

Result of the command git merge master:

javanoob@DELL:~/workspace/PROJECT_One$ git merge master
Already up-to-date.

When I do the command git merge origin/master It shows that there are some files which will be overwritten but if I do the same command without the prefix origin/ it says everything is already up-to-date.

What is wrong in this setup?

I don't know if it matters but before running these commands, I did run the command git fetch origin

like image 612
javanoob Avatar asked Dec 28 '15 16:12

javanoob


2 Answers

git fetch fetches information on remote branches, but does not make any changes to your local master branch. Because of this, master and origin/master are still diverged. You'd have to merge them by using git pull.

When you make a commit, your local master branch is ahead of origin/master until you push those changes. This case is the opposite, where the origin/master branch is ahead of your local master branch. This is why you are getting different outcomes.

Read https://stackoverflow.com/a/7104747/2961170 for more information.

like image 51
fisk Avatar answered Nov 16 '22 10:11

fisk


Using git merge origin/master refers to the master branch on the server. git merge master refers to your local master branch.

By using git pull you can merge them if they diverge.

like image 8
vauhochzett Avatar answered Nov 16 '22 11:11

vauhochzett