goedel-1:demo emullen$ goedel-1:demo emullen$ ls A B goedel-1:demo emullen$ cd A/ goedel-1:A emullen$ ls git_demo goedel-1:A emullen$ cd goedel-1:~ emullen$ cd - /Users/emullen/demo/A goedel-1:A emullen$ cd git_demo/ goedel-1:git_demo emullen$ ls goedel-1:git_demo emullen$ emacs -nw berries.txt goedel-1:git_demo emullen$ ls berries.txt goedel-1:git_demo emullen$ git add berries.txt goedel-1:git_demo emullen$ git commit -m "bananas forever" [master (root-commit) e8a2521] bananas forever 1 file changed, 1 insertion(+) create mode 100644 berries.txt goedel-1:git_demo emullen$ git push Enter passphrase for key '/Users/emullen/.ssh/id_rsa': Counting objects: 3, done. Writing objects: 100% (3/3), 254 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To git@github.com:sliverdragon37/git_demo.git * [new branch] master -> master goedel-1:git_demo emullen$ cd ../../ goedel-1:demo emullen$ ls A B goedel-1:demo emullen$ cd B/git_demo/ goedel-1:git_demo emullen$ ls goedel-1:git_demo emullen$ emacs -nw berries.txt goedel-1:git_demo emullen$ git add berries.txt goedel-1:git_demo emullen$ git commit -m "raspberries win" [master (root-commit) f6eae82] raspberries win 1 file changed, 1 insertion(+) create mode 100644 berries.txt goedel-1:git_demo emullen$ git push Enter passphrase for key '/Users/emullen/.ssh/id_rsa': To git@github.com:sliverdragon37/git_demo.git ! [rejected] master -> master (fetch first) error: failed to push some refs to 'git@github.com:sliverdragon37/git_demo.git' 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. goedel-1:git_demo emullen$ git pull Enter passphrase for key '/Users/emullen/.ssh/id_rsa': warning: no common commits remote: Counting objects: 3, done. remote: Total 3 (delta 0), reused 3 (delta 0), pack-reused 0 Unpacking objects: 100% (3/3), done. From github.com:sliverdragon37/git_demo * [new branch] master -> origin/master Auto-merging berries.txt CONFLICT (add/add): Merge conflict in berries.txt Automatic merge failed; fix conflicts and then commit the result. goedel-1:git_demo emullen$ emacs -nw berries.txt goedel-1:git_demo emullen$ git add berries.txt goedel-1:git_demo emullen$ git status On branch master Your branch and 'origin/master' have diverged, and have 1 and 1 different commit each, respectively. (use "git pull" to merge the remote branch into yours) All conflicts fixed but you are still merging. (use "git commit" to conclude merge) nothing to commit, working directory clean goedel-1:git_demo emullen$ git commit -m "merged berries.txt" [master da4a03e] merged berries.txt goedel-1:git_demo emullen$ git push Enter passphrase for key '/Users/emullen/.ssh/id_rsa': Counting objects: 4, done. Delta compression using up to 4 threads. Compressing objects: 100% (2/2), done. Writing objects: 100% (4/4), 370 bytes | 0 bytes/s, done. Total 4 (delta 1), reused 0 (delta 0) remote: Resolving deltas: 100% (1/1), done. To git@github.com:sliverdragon37/git_demo.git e8a2521..da4a03e master -> master goedel-1:git_demo emullen$ git log | less goedel-1:git_demo emullen$ cd ../../ goedel-1:demo emullen$ cd A/git_demo/ goedel-1:git_demo emullen$ ls berries.txt goedel-1:git_demo emullen$ cat berries.txt Bananas are the best berries! goedel-1:git_demo emullen$ git pull Enter passphrase for key '/Users/emullen/.ssh/id_rsa': remote: Counting objects: 4, done. remote: Total 4 (delta 1), reused 4 (delta 1), pack-reused 0 Unpacking objects: 100% (4/4), done. From github.com:sliverdragon37/git_demo e8a2521..da4a03e master -> origin/master Updating e8a2521..da4a03e Fast-forward berries.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) goedel-1:git_demo emullen$ e berries.txt goedel-1:git_demo emullen$ git add berries.txt goedel-1:git_demo emullen$ git commit -m "you were wrong" [master 5f88483] you were wrong 1 file changed, 1 insertion(+), 1 deletion(-) goedel-1:git_demo emullen$ git push Enter passphrase for key '/Users/emullen/.ssh/id_rsa': Counting objects: 3, done. Writing objects: 100% (3/3), 283 bytes | 0 bytes/s, done. Total 3 (delta 0), reused 0 (delta 0) To git@github.com:sliverdragon37/git_demo.git da4a03e..5f88483 master -> master goedel-1:git_demo emullen$ git log | less goedel-1:git_demo emullen$ git checkout da4a03ea9e5108893f59fb852642ad398a42238f Note: checking out 'da4a03ea9e5108893f59fb852642ad398a42238f'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b new_branch_name HEAD is now at da4a03e... merged berries.txt goedel-1:git_demo emullen$ cat berries.txt raspberries are the best berries! goedel-1:git_demo emullen$ git checkout HEAD goedel-1:git_demo emullen$ cat berries.txt raspberries are the best berries! goedel-1:git_demo emullen$ git status HEAD detached at da4a03e nothing to commit, working directory clean goedel-1:git_demo emullen$ git log | less goedel-1:git_demo emullen$