views:

69

answers:

4

I had some conflicts between my local repo and the remote repo.

So, I did:

git stash
git pull origin master
git stash apply

// here i had merge conflicts, so i edited the files and did
git add file1
git add file2

git commit

Now when I do git status it shows a bunch of modified files, etc. But git push origin master says Everything up-to-date.

Any ideas?

+7  A: 

If git status is showing modified files, those aren't going to be pushed because they're not committed yet. git status only shows changes that haven't yet been committed (even if they have been staged).

Try committing again and see if there are any error messages when you go to commit. (You may also need to git add files that didn't have merge conflicts, if they were affected by whatever your popped from your stash - stashing doesn't save stage state.)

Amber
+1  A: 

Did your commit actually succeed? If you had indeed made a commit since you pulled, pushing back to origin would have to push that commit. It sounds like you haven't. The fact that git status shows modified files still is another sign that you haven't - ideally, you'd end up with a clean tree after commmitting; git status would show "nothing to commit". If they're still showing up as modified, they haven't been committed yet.

Jefromi
A: 

Two things:

  1. First, have you done 'git add .' and 'git commit -a', just to be sure you've actually gotten everything and added everything?
  2. You may wish to try switching your autocrlf - 'git config core.autocrlf true', 'git config core.autocrlf false' and so on, doing a 'git status' in between each one. I run into this problem all the time.
aronchick
Your first point is bad advice. `git add .` is not the same thing, as it will also add untracked files.
Daenyth
That's my point - with limited information, s/he may be looking at the "modified" files and seeing the untracked ones as well. `git add .` will start tracking them.
aronchick
@aronchick: By all indications, the commit failed, which means the problem is some unmerged files left. This means that the next commit will be a merge commit, so it's a *really* bad time to introduce unrelated changes.
Jefromi
A: 

This might go without saying, but just to be explicit, make sure your local branch is 'master'. When you run git status look to see which branch you're on. If, for example, you created a branch called 'foo' and are currently on that branch you'll have to run this command to push your current 'foo' branch to the remote 'master' branch:

git push origin foo:master
Bryce