Skip to content

Instantly share code, notes, and snippets.

@nomike
Created April 7, 2017 11:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nomike/4758f8651da34a5434fe068db1ac2ab6 to your computer and use it in GitHub Desktop.
Save nomike/4758f8651da34a5434fe068db1ac2ab6 to your computer and use it in GitHub Desktop.
git branch issue
[nomike@somehost tmp]$ mkdir nomike
[nomike@somehost tmp]$ cd nomike
[nomike@somehost nomike]$ mkdir bare.git
[nomike@somehost nomike]$ cd bare.git
[nomike@somehost bare.git]$ git init --bare
Initialized empty Git repository in /tmp/nomike/bare.git/
[nomike@somehost bare.git]$ cd ..
[nomike@somehost nomike]$ git clone bare.git foo
Initialized empty Git repository in /tmp/nomike/foo/.git/
warning: You appear to have cloned an empty repository.
[nomike@somehost nomike]$ cd foo
[nomike@somehost foo]$ touch README
[nomike@somehost foo]$ git add README
[nomike@somehost foo]$ git commit README -m 'added README'
[master (root-commit) 9d66e0d] added README
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README
[nomike@somehost foo]$ git push --set-upstream origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 222 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
To /tmp/nomike/bare.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.
[nomike@somehost foo]$ git pull
Already up-to-date.
[nomike@somehost foo]$ cd ..
[nomike@somehost nomike]$ git clone bare.git bar
Initialized empty Git repository in /tmp/nomike/bar/.git/
[nomike@somehost nomike]$ cd bar
[nomike@somehost bar]$ git checkout -b v1
Switched to a new branch 'v1'
[nomike@somehost bar]$ touch v1
[nomike@somehost bar]$ git add v1
[nomike@somehost bar]$ git commit v1 -m "added v1"
[v1 80a9711] added v1
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 v1
[nomike@somehost bar]$ git push --set-upstream origin v1
Counting objects: 3, done.
Delta compression using up to 5 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 244 bytes, done.
Total 2 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (2/2), done.
To /tmp/nomike/bare.git
* [new branch] v1 -> v1
Branch v1 set up to track remote branch v1 from origin.
[nomike@somehost bar]$ git push
Everything up-to-date
[nomike@somehost bar]$ git pull
Already up-to-date.
[nomike@somehost bar]$ cd ..
[nomike@somehost nomike]$ cd foo/
[nomike@somehost foo]$ git pull
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 2 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (2/2), done.
From /tmp/nomike/bare
* [new branch] v1 -> origin/v1
Already up-to-date.
[nomike@somehost foo]$ git push
Everything up-to-date
[nomike@somehost foo]$ echo "Some readme text" > README
[nomike@somehost foo]$ git add README
[nomike@somehost foo]$ git commit README -m "Add some readme text"
[master 5aff8ca] Add some readme text
1 files changed, 1 insertions(+), 0 deletions(-)
[nomike@somehost foo]$ git push
Counting objects: 5, done.
Writing objects: 100% (3/3), 268 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
To /tmp/nomike/bare.git
9d66e0d..5aff8ca master -> master
[nomike@somehost foo]$ cd ..
[nomike@somehost nomike]$ cd bar
[nomike@somehost bar]$ ls
README v1
[nomike@somehost bar]$ echo "I have all the versions, I have the best versions" > v1
[nomike@somehost bar]$ git add v1
[nomike@somehost bar]$ git commit v1 -m "add content to v1"
[v1 71bb3f0] add content to v1
1 files changed, 1 insertions(+), 0 deletions(-)
[nomike@somehost bar]$ git push
Counting objects: 5, done.
Delta compression using up to 5 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 318 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
To /tmp/nomike/bare.git
80a9711..71bb3f0 v1 -> v1
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to '/tmp/nomike/bare.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again. See the 'Note about
fast-forwards' section of 'git push --help' for details.
[nomike@somehost bar]$ git pull
remote: Counting objects: 5, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From /tmp/nomike/bare
9d66e0d..5aff8ca master -> origin/master
Already up-to-date.
[nomike@somehost bar]$ git push
To /tmp/nomike/bare.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to '/tmp/nomike/bare.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again. See the 'Note about
fast-forwards' section of 'git push --help' for details.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment