Changes to a remote branch causes a user not to be able to push their changes because their tip is behind its remote counterpart. Here are the git repos: github.com/user-one/project github.com/user-two/project Here's what happened: 1. user-one creates a project and adds file-one.txt to the repo with contents "file one" 2. user-one commits and pushes to master 3. user-one creates directory "foo/" with a file named "foo.txt". "foo.txt" contains text "foo" 4. user-one commits and pushes to master 5. user-two forks github.com/user-one/project 6. user-two creates new branch called "so-much-foo" and changes the text of foo/foo.txt to "so much foo" 7. user-two commit, pushes, to origin/master, and creates a pull request 8. user-one creates "file-two.txt" with contents "file two", commits, and pushes to master 9. user-two changes the contents of "foo/foo.txt" from "so much foo" to "foo\nfoo", then commits the file 10. user-two types this command: `git remote add user-one git@xxxxxxxxxx: user-one/project.git` 11. user-two types another command: git pull --rebase user-one master 12. user-two attempts to push changes to the branch so-much-foo but is denied as seen here: $ git push origin so-much-foo To git@xxxxxxxxxx:user-two/project.git ! [rejected] so-much-foo -> so-much-foo (non-fast-forward) error: failed to push some refs to 'git@xxxxxxxxxx:user-two/project.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again. It doesn't look like the tip is behind though: /project$ git log commit dd240b6ba15d27d074726e9b1b0e665e3507a2fd Author: User Two <debugging.data+user2@xxxxxxxxx> Date: Mon Nov 24 22:55:45 2014 +0000 foo/foo.txt from "so much foo" to "foo\nfoo" commit 5cd55b8775750c2631b3c1f249f541402cc38c27 Author: User Two <debugging.data+user2@xxxxxxxxx> Date: Mon Nov 24 22:51:12 2014 +0000 changed foo/foo.txt contents to "so much foo" commit 75fca5dfa5157a18b55bb89fba70aee8680cfbf2 Author: User One <debugging.data+user1@xxxxxxxxx> Date: Mon Nov 24 22:52:42 2014 +0000 file-two.txt with contents "file two" commit faf9ccfbde95158b2b4a3e291a1e32789381a37e Author: User One <debugging.data+user1@xxxxxxxxx> Date: Mon Nov 24 22:46:28 2014 +0000 foo/ and foo/foo.txt with contents "foo" commit 17471484163127daaf5233eccf5fac89e9d7a53e Author: User One <debugging.data+user1@xxxxxxxxx> Date: Mon Nov 24 22:43:08 2014 +0000 file-one.txt with contents "file one" I have struggled with this today, and I'm not sure what to do, so I've resorted to asking for help here. I guess someone here has dealt with this at least once. Are there tools that would help make this process easier? -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html