I don't know if I'm doing things right, obviously I'm not.
I'm new to rebasing. And I'm not exactly a master ninja guru at git overall yet...been doing it for a while but that was committing via merges, and now trying to stick with rebasing which I prefer going forward.
My problem: I can't seem to rebase again, I keep getting the errors you see below. updates were rejected
. And the message doesn't really explain what happened, or how to solve it even though it probably does to some git gurus :).
I think what happened is I pushed code once without rebasing first and ended up with a detached head and ended up doing a merge instead of rebase. As you can see my tree isn't exactly in a straight line anymore:
rm baby! I do most my work via command-line but when I want to check out the tree, this is much nicer to see in.
Here are the steps I took which got me into this predicament: ``` branches/homepage xxxx-log-in ✔
▶ ga .
branches/homepage xxxx-log-in ✗
▶ gcmsg "removed proxy entry in package.json, was trying to troubleshoot API call"
[xxxx-log-in 0fb184d] removed proxy entry in package.json,
was trying to troubleshoot API call
1 file changed, 6 deletions(-)
branches/homepage xxxx-log-in ✔ 0m
▶ ga .
branches/homepage xxxx-log-in ✔
▶ git rebase -i develop
[detached HEAD bb5fdb3] problem with call to API - getting 403
Date: Fri May 26 11:04:35 2017 -0500
22 files changed, 185 insertions(+), 91 deletions(-)
create mode 100644 src/client/reducers/AuthReducer.js
create mode 100644 src/test/integration/api.integration.spec.js
rename src/test/{unit => }/testImports.js (76%)
Successfully rebased and updated refs/heads/xxxx-log-in.
branches/homepage xxxx-log-in ✔
▶ git push origin xxxx-log-in
To https://github.com/xxxx
! [rejected] xxxx-log-in -> xxxx-log-in (non-fast-forward)
error: failed to push some refs to 'https://github.com/xxxx'
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.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
branches/homepage xxxx-log-in ✔
▶ git pull
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=origin/<branch> xxxx-log-in
branches/homepage xxxx-log-in ✔
▶ git pull origin xxxx-log-in
fatal: Couldn't find remote ref xxxx-log-in
branches/homepage xxxx-log-in ✔
▶ git push
fatal: The current branch xxxx-log-in has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin xxxx-log-in
branches/homepage xxxx-log-in ✔
▶ git push --set-upstream origin xxxx-log-in
To https://github.com/xxxx
! [rejected] xxxx-log-in -> xxxx-log-in (non-fast-forward)
error: failed to push some refs to 'https://github.com/xxxx'
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.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
branches/homepage xxxx-log-in ✔
▶ git status
On branch xxxx-log-in
nothing to commit, working tree clean
branches/homepage w1-user-can-log-in ✔
▶ git pull --ff-only
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=origin/<branch> xxxx-log-in
branches/homepage xxxx-log-in ✔
▶ git pull origin xxxx-log-in
From https://github.com/xxxx
* branch xxxx-log-in -> FETCH_HEAD
Auto-merging package.json
Merge made by the 'recursive' strategy.
package.json | 6 ++++++
1 file changed, 6 insertions(+)
branches/homepage xxxx-log-in ✔
▶ ga .
branches/homepage xxxx-log-in ✗
▶ g**cmsg "removed proxy entry in package.json, was trying to
troubleshoot API call"**
[xxxx-log-in db91b96] removed proxy entry in package.json, was trying to troubleshoot API call
1 file changed, 6 deletions(-)
branches/homepage xxxx-log-in ✔
▶ git rebase -i develop
[*detached* HEAD 47a599c] added integration test script to package.json
Date: Fri May 26 11:15:25 2017 -0500
2 files changed, 37 deletions(-)
delete mode 100644 src/test/integration/api-integration-spec.js
Successfully rebased and updated refs/heads/xxxx-log-in.
branches/homepage xxxx-log-in ✔
▶ git push origin xxxx-log-in
To https://github.com/xxxx
! [rejected] xxxx-log-in -> xxxx-log-in (non-fast-forward)
error: failed to push some refs to 'https://github.com/xxxx'
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.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
branches/homepage xxxx-log-in ✔
▶ git checkout xxxx-log-in
Already on 'xxxx-log-in'
branches/homepage xxxx-log-in ✔
▶ git pull origin xxxx-log-in
From https://github.com/xxxx
* branch xxxx-log-in -> FETCH_HEAD
Auto-merging package.json
Merge made by the 'recursive' strategy.
package.json | 6 ++++++
1 file changed, 6 insertions(+)
branches/homepage xxxx-log-in ✔
▶ git push
fatal: The current branch xxxx-log-in has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin xxxx-log-in
branches/homepage xxxx-log-in ✔
▶ git push --set-upstream origin xxxx-log-in
Counting objects: 10, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (10/10), done.
Writing objects: 100% (10/10), 1.26 KiB | 0 bytes/s, done.
Total 10 (delta 5), reused 0 (delta 0)
remote: Resolving deltas: 100% (5/5), completed with 4 local objects.
To https://github.com/xxxx
55aaad5..59507fb xxxx-log-in -> xxxx-log-in
Branch w1-user-can-log-in set up to track remote branch xxxx-log-in from origin.
branches/homepage xxxx-log-in ✔
▶ ga .
branches/homepage xxxx-log-in ✗
▶ gcmsg "removed proxy from package.json"
[xxxx-log-in 8f7363f] removed proxy from package.json
1 file changed, 1 insertion(+), 6 deletions(-)
branches/homepage xxxx-log-in ✔
▶ git rebase -i develop
Successfully rebased and updated refs/heads/xxxx-log-in.
branches/homepage xxxx-log-in ✔
▶ git push origin xxxx-log-in
To https://github.com/xxxx
! [rejected] xxxx-log-in -> xxxx-log-in (fetch first)
***error: failed to push some refs to 'https://github.com/xxxx'***
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
branches/homepage xxxx-log-in ✔
▶ git pull origin xxxx-log-in
remote: Counting objects: 7, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 7 (delta 4), reused 7 (delta 4), pack-reused 0
Unpacking objects: 100% (7/7), done.
From https://github.com/xxxx
* branch xxxx-log-in -> FETCH_HEAD
59507fb..4b13f34 xxxx-log-in -> origin/xxxx-log-in
Auto-merging package.json
Merge made by the 'recursive' strategy.
package.json | 6 ++++++
src/test/integration/api.integration.spec.js | 9 ++++-----
2 files changed, 10 insertions(+), 5 deletions(-)
branches/homepage xxxx-log-in ✔
▶ ga .
branches/homepage xxxx-log-in ✗
▶ gcmsg "removed all instances of session - not needed"
[xxxx-log-in d37a719] removed all instances of session - not needed
5 files changed, 8 insertions(+), 13 deletions(-)
branches/homepage xxxx-log-in ✔
▶ git rebase -i develop
Successfully rebased and updated refs/heads/xxxx-log-in.
xxx/branches/homepage xxxx-log-in ✔
▶ git push origin xxxx-log-in
To https://github.com/xxxx
! [rejected] xxxx-log-in -> xxxx-log-in (non-fast-forward)
error: failed to push some refs to 'https://github.com/xxxx/xxx'
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.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.