Git pull not pulling everything

Git

Git Problem Overview


I have a server where there's some config that I don't properly know where i just git pull and it gets what is in a github repo, then restart it in order to deploy.

The thing is, there's a commit which isn't my latest, that isn't really on my server. The files aren't in .gitignore. How do I assure that a pull, pulled a commit?

I really don't know how to fix it, I'm thinking about restarting everything :(

14:41][root@someserver] someserver_dir (master)$ git status
# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#	modified:   Gemfile
#	modified:   Gemfile.lock
#	modified:   config/assets.yml
#	modified:   config/database.yml
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#	randomfiles

Git Solutions


Solution 1 - Git

If you always want your server version to reflect a commit from your repo, it's probably better to use git reset instead of git pull - that way you never invoke merge functionality, but instead set all of the files to exactly what they are in the commit you reset to. For example:

git fetch origin master
git reset --hard FETCH_HEAD

Solution 2 - Git

You can use git pull origin branch_name of the github.

Ex: If I have a production branch on GitHub, then I will write git pull origin production which will give me all the latest commits.

Only doing git pull sometimes does not give you the latest commits of production branch even though you are working on that branch and committing it.

Behind the scenes working

http://git-scm.com/docs/git-pull#_default_behaviour

Explanation and Examples

Solution 3 - Git

Try cleaning-up your local repository with and then run git pull:

$ git gc --prune=now
$ git remote prune origin

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionthiagofmView Question on Stackoverflow
Solution 1 - GitAmberView Answer on Stackoverflow
Solution 2 - GitinvinciblemuffiView Answer on Stackoverflow
Solution 3 - GittechExplorerView Answer on Stackoverflow