git repo says it's up-to-date after pull but files are not updated
GitRepositoryCheckinGit Problem Overview
I have 3 repos. A bare repo which I use as a master repo, a dev repo in which I make and test changes, and prod repo from which scripts are executed in the prod environment.
After I have tested changes in the dev repo I push them to the bare repo and they are auto pulled down into the prod repo on a cronjob using a basic script (carrying out git pull command).
I followed through the above procedure for a change, but the altered file will not update in the prod repo.
- The change is checked in and pushed in the dev repo
- The pull has been done to the prod repo
- The git logs for all repos are identical and all show the checkin for this change
- git branch gives me "* master" for all repos
- git status for all repos gives me:
nothing to commit, working directory clean On branch master
- git pull gives me "Already up-to-date" for the dev & prod repos
Using git extensions for a graphical view, it appears each repo is up to date and at the head.
I've tried:
git checkout HEAD
git pull origin master
git reset --hard HEAD
git reset --hard origin/master
git reset origin/master
Can anyone help here?
Git Solutions
Solution 1 - Git
Try this:
git fetch --all
git reset --hard origin/master
Explanation:
git fetch
downloads the latest from remote without trying to merge or rebase anything.
Please let me know if you have any questions!
Solution 2 - Git
For me my forked branch was not in sync with the master branch. So I went to bitbucket and synced and merged my forked branch and then tried to take the pull. Then it worked fine.
Solution 3 - Git
Our upstream repo had wrong master
tag so was forced to delete it in our fork repo:
git reset --hard upstream/master
git tag -d master
git push origin master
Solution 4 - Git
I've been having the same issue since Git forced SSH. It was always fine before, but now when running Git Pull it keeps saying "Already up to date'.
I've run the commands above but it doesn't do anything. Git is a bit like Bluetooth. Great when it's working, but a pain when it's not. lol.