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 
g...@github.com: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 g...@github.com:user-two/project.git
! [rejected] so-much-foo -> so-much-foo (non-fast-forward)
error: failed to push some refs to 'g...@github.com: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+us...@gmail.com>
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+us...@gmail.com>
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+us...@gmail.com>
Date: Mon Nov 24 22:52:42 2014 +0000


file-two.txt with contents "file two"


commit faf9ccfbde95158b2b4a3e291a1e32789381a37e
Author: User One <debugging.data+us...@gmail.com>
Date: Mon Nov 24 22:46:28 2014 +0000


foo/ and foo/foo.txt with contents "foo"


commit 17471484163127daaf5233eccf5fac89e9d7a53e
Author: User One <debugging.data+us...@gmail.com>
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?

Why didn't rebase solve this problem?

How do you solve this problem?

-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to