I had another go.
mkdir remote cd remote/ git init --bare cd ../ git clone remote/ alice cd alice/ echo test >> file git add file git commit -am w git push origin master echo test >> file git commit -am w git branch HEAD git push origin HEAD git push cd .. git clone remote bob cd bob/ git branch git pull --rebase echo test >> file git commit -am w git push git pull git pull git pull echo test >> file git commit -am w git push cd ../alice git branch git status echo test >> file git commit -am w git push echo test2 >> file git commit -am w git push git pull echo test3 >> file git commit -am w git status git push gitk
stephen@bishop:/tmp/git$ mkdir remote
stephen@bishop:/tmp/git$ cd remote/
stephen@bishop:/tmp/git/remote$ git init --bare Initialized empty Git repository in /tmp/git/remote/
stephen@bishop:/tmp/git/remote$ cd ../
stephen@bishop:/tmp/git$ git clone remote/ alice Cloning into alice... done. warning: You appear to have cloned an empty repository.
stephen@bishop:/tmp/git$ cd alice/
stephen@bishop:/tmp/git/alice$ echo test >> file
stephen@bishop:/tmp/git/alice$ git add file
stephen@bishop:/tmp/git/alice$ git commit -am w
[master (root-commit) 072df32] w
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 file
stephen@bishop:/tmp/git/alice{master}$ git push origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 210 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
To /tmp/git/remote/
* [new branch] master -> masterstephen@bishop:/tmp/git/alice{master}$ echo test >> filestephen@bishop:/tmp/git/alice{master}$ git commit -am w
[master b39d099] w
1 files changed, 1 insertions(+), 0 deletions(-)stephen@bishop:/tmp/git/alice{master}$ git branch HEADstephen@bishop:/tmp/git/alice{master}$ git push origin HEAD
Counting objects: 5, done.
Writing objects: 100% (3/3), 242 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
To /tmp/git/remote/
* [new branch] HEAD -> HEADstephen@bishop:/tmp/git/alice{master}$ git push Everything up-to-date
stephen@bishop:/tmp/git/alice{master}$ cd ..stephen@bishop:/tmp/git$ git clone remote bob Cloning into bob... done.
stephen@bishop:/tmp/git$ cd bob/
stephen@bishop:/tmp/git/bob{master}$ git pull --rebase
From /tmp/git/remote
072df32..b39d099 HEAD -> origin/HEAD
Current branch master is up to date.stephen@bishop:/tmp/git/bob{master}$ echo test >> filestephen@bishop:/tmp/git/bob{master}$ git commit -am w
[master b39d099] w
1 files changed, 1 insertions(+), 0 deletions(-)stephen@bishop:/tmp/git/bob{master}$ git push
Total 0 (delta 0), reused 0 (delta 0)
To /tmp/git/remote
072df32..b39d099 HEAD -> masterstephen@bishop:/tmp/git/bob{master}$ git pull Current branch master is up to date.
stephen@bishop:/tmp/git/bob{master}$ git pull Current branch master is up to date.
stephen@bishop:/tmp/git/bob{master}$ git pull Current branch master is up to date.
stephen@bishop:/tmp/git/bob{master}$ echo test >> filestephen@bishop:/tmp/git/bob{master}$ git commit -am w
[master 47699a9] w
1 files changed, 1 insertions(+), 0 deletions(-)stephen@bishop:/tmp/git/bob{master}$ git push
Counting objects: 5, done.
Writing objects: 100% (3/3), 240 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
To /tmp/git/remote
b39d099..47699a9 HEAD -> masterstephen@bishop:/tmp/git/bob{master}$ cd ../alicestephen@bishop:/tmp/git/alice{master}$ git branch
HEAD
* masterstephen@bishop:/tmp/git/alice{master}$ git status warning: refname 'HEAD' is ambiguous. warning: refname 'HEAD' is ambiguous. # On branch master # Your branch is ahead of 'origin/master' by 1 commit. # nothing to commit (working directory clean)
stephen@bishop:/tmp/git/alice{master}$ echo test >> filestephen@bishop:/tmp/git/alice{master}$ git commit -am w
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
[master 7e83bed] w
1 files changed, 1 insertions(+), 0 deletions(-)stephen@bishop:/tmp/git/alice{master}$ git push Everything up-to-date
stephen@bishop:/tmp/git/alice{master}$ echo test2 >> filestephen@bishop:/tmp/git/alice{master}$ git commit -am w
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
[master b4f5b5b] w
1 files changed, 1 insertions(+), 0 deletions(-)stephen@bishop:/tmp/git/alice{master}$ git push Everything up-to-date
stephen@bishop:/tmp/git/alice{master}$ git pull
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
remote: Counting objects: 5, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From /tmp/git/remote
072df32..47699a9 master -> origin/master
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
First, rewinding head to replay your work on top of it...
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
Applying: w
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.stephen@bishop:/tmp/git/alice{master}$ echo test3 >> filestephen@bishop:/tmp/git/alice{master}$ git commit -am w
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
warning: refname 'HEAD' is ambiguous.
[master cc2088e] w
1 files changed, 1 insertions(+), 0 deletions(-)stephen@bishop:/tmp/git/alice{master}$ git status warning: refname 'HEAD' is ambiguous. warning: refname 'HEAD' is ambiguous. # On branch master # Your branch is ahead of 'origin/master' by 2 commits. # nothing to commit (working directory clean)
stephen@bishop:/tmp/git/alice{master}$ git push Everything up-to-date
stephen@bishop:/tmp/git/alice{master}$stephen@bishop:/tmp/git/alice{master}$ git --version git version 1.7.4.1