xxxxxxxxxx
# Quick fix
git merge origin/BRANCH_NAME
#Better option
#Goto you local repo, edit .git/config and use this
[pull]
ff = no
rebase = false
xxxxxxxxxx
This is because you have enabled the fast-forward only option. The thing here is your pull from the branch will create a merge commit in your local git and the fast-forward only option doesn't allow creating a merge commit at the time of pull.
In the case of a big team, You will end up rebasing and resolving conflicts lots of the time and for each and every commit coming from the pull.
I suggest you remove ff = only line from git local config file.
$ cd to-my-project-root-dir
$ nano .git/config
[pull] ff = only // remove this line rebase = false
xxxxxxxxxx
git pull --rebase. Unlike the other solution, you don't need to know the name of your destination branch.
If your upstream branch is not set, try git pull origin <branch> --rebase (credit to @Rick in the comments)
xxxxxxxxxx
If
git pull
does not do the trick and if you want to merge both the current changes and the changes that'd come from the pull of the branch from origin then do this:-
git merge origin/BRANCH_NAME
After that, resolve the merge conflicts if any and done for the day.
xxxxxxxxxx
git fetch origin dev
git merge origin dev
Replace dev with branch_name you want to pull.
if that doesnot work
git pull origin dev --no-ff