How come "git pull origin master" doesn't actually change the files in my computer's directory?
I suspect master isn't tracking upstream/master
(as in here), which means, a git pull upstream master
only fetches commit from upstream
, but doesn't merge anything.
You could merge those manually: git merge upstream/master
.
Plus, upstream
isn't origin
, and master
is ahead from origin/master
: There is nothing to pull here, only 29 new commits to push to origin (which should be your fork, that is your clone from upstream on the GitHub server side: see "What is the difference between origin and upstream on GitHub?").
The command you typed was git pull upstream master
. That command fetches and then merges changes from the upstream to your local branch.
The git status
message indicates that everything in your upstream has already been merged with your local master. But you haven't pushed your changes to the remote yet. In other words, you've committed your changes to the local repository, but you haven't pushed them to the remote yet. In a distributed VCS like git, commit
and push
are not the same thing.
Type git push origin master
to send your changes to the upstream remote. This will get everything synched up.
If that doesn't work you may need to rebase your local repository. To rebase the remote origin under your local work, type git pull -r origin master
. Then type git push origin master
.
If you're not sure whether you're ready to push or not you can always do a dry run with git push origin master --dry-run
and none of your changes will actually be pushed.