git clone

Tool/Git 2013. 3. 19. 00:37

본인의 원격 저장소든 타인의 원격 저장소든 git@github.com:ggamzzak/test.git 같은 이미 생성된 원격 저장소 주소를 알아냈다면,
로컬 저장소(Local Repository)를 생성하고 원격 저장소로부터 소스를 복제하여 해당 프로젝트의 버전관리를 시작할 수 있습니다.
windows, linux, mac 등 어디든 로컬 저장소가 될 수 있고 특정 원격 저장소의 소스를 복제하는 방법은 clone 명령을 사용합니다.

 

git clone <원격 저장소 주소> <복제될 디렉토리>

 

원격 저장소로부터 소스를 복제한 후 계속해서 원격 저장소와 소스를 주고 받아야 함에 있어서 별칭을 사용할 수 있습니다.
매번 저 긴 원격 저장소 주소를 입력할 수는 없으니까요.
게다가 2개 이상의 원격 저장소로부터 버전 관리를 병행한다면 별칭은 더욱 중요합니다.
clone으로 복제를 실행하면 원격 저장소에 대하여 origin 이란 이름으로 자동 생성됩니다.
원격 저장소의 이름을 변경하고 싶다면 clone 명령시 -o name 옵션을 추가할 수 있습니다.

 

$ pwd
/home/oops4u/dev
$ git clone git@github.com:ggamzzak/test.git
Cloning into 'test'...
Enter passphrase for key '/home/oops4u/.ssh/id_rsa':
remote: Counting objects: 3, done.
remote: Total 3 (delta 0), reused 0 (delta 0)
Unpacking objects: 100% (3/3), done.
$ ls
test
$ cd test
$ ls -al
.git
README.md

 

clone 명령으로 원격저장소의 test 란 프로젝트를 복제하고나니 현재 디렉토리에 test 란 디렉토리가 생성되었습니다.
복제될 디렉토리를 현재 디렉토리(.)로 지정할 수도 있습니다.
그 안에는 복제된 디렉토리나 파일들이 있을 것이구요, .git 란 버전관리 디렉토리도 생성됩니다.

 

$ git remote
origin
$ git remote -v
origin  git@github.com:ggamzzak/test.git (fetch)
origin  git@github.com:ggamzzak/test.git (push)

 

remote 명령으로 origin 이란 원격 저장소 별칭이 생성된 것을 확인하였습니다.

 

clone 명령으로의 복제는 원격 저장소의 모든 커밋 히스토리까지 가져오는 것이 특징입니다.
히스토리는 log 명령으로 확인 가능합니다.

 

$ git log
commit ca82a6dff817ec66f44342007202690a93763949
Author: Scott Chacon <schacon@gee-mail.com>
Date:   Mon Mar 17 21:52:11 2008 -0700

    changed the version number

commit 085bb3bcb608e1e8451d4b2432f8ecbe6306e7e7
Author: Scott Chacon <schacon@gee-mail.com>
Date:   Sat Mar 15 16:40:33 2008 -0700

    removed unnecessary test code

commit a11bef06a3f659402fe7563abf99ad00de2209e6
Author: Scott Chacon <schacon@gee-mail.com>
Date:   Sat Mar 15 10:31:28 2008 -0700

    first commit


WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

,