I have a local Git repository I’ve been developing under for a few days: it has eighteen commits so far. Tonight, I created a private Github repository I was hoping to push it to; however, when I did so, it only ended up pushing eight of the eighteen commits to Github. I deleted the Github repo and retried, with the same result.
Any thoughts on why this might be happening? I’ve done this procedure before without a few times successfully, so I’m a bit stumped.
Update: There is, and has always been, only the master branch in this repo. Just to address a few of the posted answers…
I took a look at the repository in question and here’s what was going on:
git checkout [commit id]. This pointed HEAD at a loose commit rather than a recognized branch. I believe this is the ‘dangling HEAD’ problem that CesarB is referring to.This diagram should make it more clear:
When he tried to push his changes, only
AthroughCwere pushed andremotemoved up toC. He couldn’t get commitsDthroughFto push because they aren’t referenced by a known branch.Here’s what you see when you’re in this state:
The solution is to move
masterup toFin the dangling chain of commits. Here’s how I did it.Create a legitimate branch for the current state:
git checkout -b tmptmpbranch is now pointing at commitFin the diagram aboveFast-forward
mastertotmpgit checkout mastergit merge tmpmasteris now pointing at commitF.Throw away your temporary branch
git branch -d tmpYou can happily push to the remote repository and it should send all of your changes.