Git의 로컬 저장소를 만드는 방법은 두 가지입니다. 기존 프로젝트를 Git 저장소로 만드는 방법이 있고 다른 서버에 있는 원격 저장소를 Clone하는 방법이 있습니다.

기존 프로젝트를 Git 저장소로 만들기

기존 프로젝트를 Git으로 관리하고 싶을 때, 프로젝트의 디렉토리로 이동해서 아래과 같은 명령을 실행합니다.

$ git init
Initialized empty Git repository in /Users/mingyu/Desktop/test/.git/

이 명령은 .git이라는 하위 디렉토리를 숨겨진 채로 만듭니다. .git 디렉토리에는 저장소에 필요한 뼈대 파일이 들어 있습니다. 이 명령만으로는 git이 아직 프로젝트의 어떤 파일도 관리하지 않습니다(모두 Untracked 상태이므로). working tree의 파일을 index로 스테이징하고, commit하는 과정이 필요합니다.

원격 저장소를 clone하기

원격 서버에 이미 존재하는 Git 저장소를 복사하고 싶을 때 git clone 명령을 사용합니다. git clone을 실행하면 프로젝트 히스토리를 전부 받아옵니다. 그래서 서버의 디스크가 망가져도 클라이언트 저장소 중에서 아무거나 하나 가져다가 복구하면 됩니다. Git도 오픈 소스로 관리되고 있으니, git 프로젝트를 clone해 보겠습니다.

$ git clone https://github.com/git/git.git

이 명령은 git이라는 디렉토리를 만들고 .git이라는 하위 디렉토리를 숨겨진 채로 만듭니다. 그리고 저장소의 데이터를 모두 가져와서, 자동으로 코드를 히스토리 중 가장 최신 상태로 만들어 둡니다. 아래와 같이 clone에 옵션을 주면, 다른 디렉토리 이름으로 clone할 수 있습니다.

$ git clone https://github.com/git/git.git mygit

init과 clone의 차이

git init기존 프로젝트에 git을 초기화하는 명령으로, 로컬 저장소가 생기며 원격 저장소에 대한 정보(remote)는 없습니다. 반대로 git clone원격 저장소의 정보를 불러와 로컬 저장소를 생성하는 것이므로 원격 저장소에 대한 정보가 있습니다. 따라서 remote -v 명령으로 현재 프로젝트에 등록된 원격 저장소를 확인해 보면, 실제로 origin이라는 이름의 remote가 자동으로 등록되어 있습니다.

$ git remote -v
origin    https://github.com/git/git.git (fetch)
origin    https://github.com/git/git.git (push)

따라서 git init으로 저장소를 만들게 되면, git remote를 이용해 원격 저장소에 대한 정보를 설정해 주어야 합니다. [Git] 원격 저장소 만들기에서 remote 설정에 대해 알아볼 수 있습니다.

'Git 레거시 글' 카테고리의 다른 글

[Git] 원격 저장소 만들기  (0) 2018.05.20
[Git] 로컬 저장소에 Commit하기  (0) 2018.05.19
[Git] 설치와 초기 설정  (0) 2018.05.17
[Git] 작업 트리와 인덱스  (0) 2018.05.16
[Git] 커밋(Commit)  (0) 2018.05.15

+ Recent posts