I've been using github from a relatively short period, and I've always used the client to perform commits and pulls. I decided to try it from the git bash yesterday, and I successfully created a new repo and committed files.
Today I did changes to the repository from another computer, I've committed the changes and now I'm back home and performed a git pull
to update my local version and I get this:
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream develop origin/<branch>
the only contributor to this repo is me and there are no branches (just a master). I'm on windows and I've performed the pull from git bash:
git status:
$ git status
# On branch master
nothing to commit, working directory clean
git branch:
$ git branch
* master
What am I doing wrong?
This happens due to current branch has no tracking on the branch on the remote. so you can do it with 2 ways.
git pull origin master
git branch --set-upstream-to=origin/
git branch --set-upstream-to=origin/main
$ git branch --set-upstream-to=heroku/master master
and
$ git pull
worked for me!
ComputerDruid's answer is great but I don't think it's necessary to set upstream manually unless you want to. I'm adding this answer because people might think that that's a necessary step.
This error will be gone if you specify the remote that you want to pull like below:
git pull origin master
Note that origin
is the name of the remote and master
is the branch name.
1) How to check remote's name
git remote -v
2) How to see what branches available in the repository.
git branch -r
With Git 2.24, you won't have to do
git branch --set-upstream-to=origin/master master
git pull
You will be able to do:
git pull --set-upstream-to=origin/master master
See more at "default remote and branch using -u
option - works with push
but not pull
".
try
git pull --rebase
hope this answer helps originally answered here https://stackoverflow.com/a/55015370/8253662
I run into this exact message often because I create a local branches via git checkout -b <feature-branch-name>
without first creating the remote branch.
After all the work was finished and committed locally the fix was git push -u
which created the remote branch, pushed all my work, and then the merge-request URL.
I was trying the above examples and couldn't get them to sync with a (non-master) branch I had created on a different computer. For background, I created this repository on computer A (git v 1.8) and then cloned the repository onto computer B (git 2.14). I made all my changes on comp B, but when I tried to pull the changes onto computer A I was unable to do so, getting the same above error. Similar to the above solutions, I had to do:
git branch --set-upstream-to=origin/<my_repository_name>
git pull
slightly different but hopefully helps someone
See: git checkout tag, git pull fails in branch
If like me you need to do this all the time, you can set up an alias to do it automatically by adding the following to your .gitconfig
file:
[alias]
set-upstream = \
!git branch \
--set-upstream-to=origin/`git symbolic-ref --short HEAD`
When you see the message There is no tracking information...
, run:
git set-upstream
git push
Try using
git push --set-upstream origin <branch_name>
Otherwise
use
git push -u
will tell you what needs to be done.
1) git branch --set-upstream-to=origin/<master_branch>
feature/<your_current_branch>
2) git pull
The same thing happened to me before when I created a new git branch while not pushing it to origin.
Try to execute those two lines first:
git checkout -b name_of_new_branch # create the new branch
git push origin name_of_new_branch # push the branch to github
Then:
git pull origin name_of_new_branch
It should be fine now!
Source: Stackoverflow.com