본문 바로가기

DevOps/#Continuous Integration

[VCS] Git의 작동 원리와 사용법 (2) (Pro Git 2/E)

목차

2. Git의 기초

Git 저장소 만들기
  • 기존 디렉터리를 Git 저장소로 만들기

관리가 필요한 프로젝트 디렉터리로 이동하여 git init 명령을 실행하면 .git이라는 하위 디렉터리가 만들어짐. 이곳에는 저장소에 필요한 뼈대 파일(skeleton)이 들어 있으며, 파일 관리가 필요한 파일을 git add 명령으로 추가한 후 git commit 명령으로 git이 파일을 관리하도록 할 수 있다.

$ git add *.c
$ git add LICENSE
$ git commit -m 'initial project version'
  • 기존 저장소를 Clone하기

다른 프로젝트에 참여(Contribute)하거나, Git 저장소를 복사할 때 git clone 명령을 사용할 수 있다. SVN의 checkout 개념과 달리, git의 clone은 서버에 있는 모든 프로젝트 히스토리를 포함한 거의 대부분의 데이터를 복사한다. 이로 인해, 원본 서버 디스크가 망가져도 클라이언트 저장소를 통해 config 외 모든 데이터가 복구될 수 있다.

$ git clone https://github.com/libgit2/libgit2
$ git clone https://github.com/libgit2/libgit2 mylibgit #dir name 설정

Git은 https:// 프로토콜 외에도 git:// 이나, ssh 프로토콜을 사용할 수 있다.

 

수정하고 저장소에 저장하기

Git 저장소를 만들고, 워킹 디렉터리에 Checkout 한 후 수정할 파일을 저장하고 싶은 경우 스냅샷을 커밋한다. 워킹 디렉터리의 모든 파일은 Tracked / Untracked로 나뉘며, Tracked 상태의 파일은 Unmodified / Modified / Staged 상태 중 하나를 갖는다. 이때, Untracked 파일은 워킹 디렉터리에 있는 파일 중 스냅샷에도 Staging Area에도 포함되지 않은 상태의 파일을 말하며, git clone 명령으로 저장소를 복제한 직후의 워킹디렉터리에는 Tracked 이면서 Unmodified 상태의 파일들만 존재한다. 

  • 파일의 상태 관리하기
  • 파일을 새로 추적하기
  • Modified 상태의 파일을 Stage 하기
  • 파일의 상태를 짤막하게 확인하기
  • 파일 무시하기

Data Science / DevOps TIL-log

학부생 때는 Data Science 공부하다가, 회사에서는 (어쩌다보니) DevOps를 하고 있는 사람의 TIL 블로그입니다. 게시글이 도움 되셨다면 구독과 좋아요 b + :)