Skip to content

Instantly share code, notes, and snippets.

@taylor
Created January 22, 2009 23:13
Show Gist options
  • Select an option

  • Save taylor/50781 to your computer and use it in GitHub Desktop.

Select an option

Save taylor/50781 to your computer and use it in GitHub Desktop.
Demo of setting up a remote git repo
This is a demo of steps seen in
http://toolmantim.com/articles/setting_up_a_new_remote_git_repository
** Setup remote repo
taylorwired:~ taylor$ ssh panda
Last login: Sat Jan 10 19:46:44 2009 from taylorwired.home
[taylor@panda ~]$ mkdir testme.git
[taylor@panda ~]$ cd testme.git/
[taylor@panda testme.git]$ git --bare init
Initialized empty Git repository in /home/taylor/testme.git/
[taylor@panda testme.git]$ logout
Connection to panda closed.
** Create local source tree
taylorwired:~ taylor$ mkdir testme
taylorwired:~ taylor$ cd testme/
taylorwired:testme taylor$ touch README
taylorwired:testme taylor$ touch testme.rb
taylorwired:testme taylor$ ls
README testme.rb
** Pull it into GIT
taylorwired:testme taylor$ git init
Initialized empty Git repository in /Users/taylor/testme/.git/
taylorwired:testme taylor$ git add .
taylorwired:testme taylor$ git commit -m "initial import"
Created initial commit eea469e: initial import
2 files changed, 4 insertions(+), 0 deletions(-)
create mode 100644 README
create mode 100755 testme.rb
** Setup for pushing to remote repo
taylorwired:testme taylor$ git remote add origin ssh://panda/home/taylor/testme.git
taylorwired:testme taylor$ git push origin master
Counting objects: 4, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (4/4), 305 bytes, done.
Total 4 (delta 0), reused 0 (delta 0)
To ssh://panda/home/taylor/testme.git
* [new branch] master -> master
taylorwired:testme taylor$ git remote
origin
taylorwired:testme taylor$ git branch -a
* master
origin/master
** Test cloning remote repo
taylorwired:testme taylor$ cd /tmp
taylorwired:tmp taylor$ git clone ssh://panda/home/taylor/testme.git
Initialized empty Git repository in /private/tmp/testme/.git/
remote: Counting objects: 4, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 4 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (4/4), done.
taylorwired:tmp taylor$ cd testme/
taylorwired:testme taylor$ ls
README testme.rb
** Add a new file via clone and make sure it shows up in first source tree
taylorwired:testme taylor$ touch test2
taylorwired:testme taylor$ git add test2
taylorwired:testme taylor$ git commit -m "file from clone 2"
Created commit b1d49dd: file from clone 2
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 test2
taylorwired:testme taylor$ git push origin master
Counting objects: 4, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 328 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To ssh://panda/home/taylor/testme.git
eea469e..b1d49dd master -> master
taylorwired:testme taylor$ cd ~/testme/
taylorwired:testme taylor$ git pull origin master
From ssh://panda/home/taylor/testme
* branch master -> FETCH_HEAD
Updating eea469e..b1d49dd
Fast forward
test2 | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 test2
taylorwired:testme taylor$ ls
README test2 testme.rb
** Add to initial source tree and check clone
taylorwired:testme taylor$ echo test1 > test1
taylorwired:testme taylor$ git add test1
taylorwired:testme taylor$ git commit -m "test1" test1
Created commit 1524e82: test1
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 test1
taylorwired:testme taylor$ git push origin master
Counting objects: 4, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 333 bytes, done.
Total 3 (delta 0), reused 0 (delta 0)
To ssh://panda/home/taylor/testme.git
b1d49dd..1524e82 master -> master
taylorwired:testme taylor$ cd /tmp/testme/
taylorwired:testme taylor$ git pull origin master
remote: Counting objects: 4, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From ssh://panda/home/taylor/testme
* branch master -> FETCH_HEAD
Updating b1d49dd..1524e82
Fast forward
test1 | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
create mode 100644 test1
taylorwired:testme taylor$ ls
README test1 test2 testme.rb
######################
If you want to avoid having to type origin master every time you can do this if you
already setup like above you can use git branch --track origin/master.
See below for demo
taylorwired:testme taylor$ cd /tmp/testme/
taylorwired:testme taylor$ git branch -a
* master
origin/HEAD
origin/master
taylorwired:testme taylor$ git branch --track origin/master
Branch origin/master set up to track local branch refs/heads/master.
taylorwired:testme taylor$ git pull
From ssh://panda/home/taylor/testme
b1d49dd..1524e82 master -> origin/master
Already up-to-date.
taylorwired:testme taylor$ git branch
* master
taylorwired:testme taylor$ git branch
* master
origin/master
taylorwired:testme taylor$ git branch -a
* master
origin/master
origin/HEAD
origin/master
taylorwired:testme taylor$ cd ~/testme
taylorwired:testme taylor$ touch test3
taylorwired:testme taylor$ git add test3
taylorwired:testme taylor$ git commit -m "test3"
Created commit 7eb6fca: test3
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 test3
taylorwired:testme taylor$ git push origin master
Counting objects: 4, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 267 bytes, done.
Total 3 (delta 1), reused 0 (delta 0)
To ssh://panda/home/taylor/testme.git
1524e82..7eb6fca master -> master
taylorwired:testme taylor$ cd -
/tmp/testme
taylorwired:testme taylor$ git pull
remote: Counting objects: 4, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
From ssh://panda/home/taylor/testme
1524e82..7eb6fca master -> origin/master
Updating 1524e82..7eb6fca
Fast forward
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 test3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment