[Git] 기초 사용법

Git은 버전 관리 툴이다.

git을 이용하면 코드를 히스토리 별로 관리를 할 수 있다.

과거 svn 등등의 여러 툴이 있었지만, git으로 귀결되었다.

git은 그만큼 막강하며, 여러 기능들을 제공하고 있다.

기본 기능을 사용하여도 크게 문제가 되지 않지만, 다양한 기능들을 활용하여 고급 기술들을 사용하면 디테일하게 제어를 할 수 있다. 또한 그만큼 처음에 다가가기도 쉽지는 않다.

여기서는 git의 가장 기초적인 사용법만 소개하겠다.

Git에서는 Server Storage, Local Storage를 나누어 생각할 수 있다.

Local Storage는 기본적으로 3개의 영역으로 분리되어 있다.

  • Working Directory: 실제 작업 공간
  • Staging Area: 변경된 파일의 추적을 위한 공간
  • Repositoy: Local Storage의 저장소

Git Clone

Server Storage에서 Source를 내려받으려면 먼저 GIt Clone을 해야 한다.

Git Clone을 하게 되면 Server Storage에 있는 Code들이 Local Storage로 동기화가 된다.

Git Add

Local에서 작업을 진행한다.

예를 들어 a.txt라는 파일을 새로 생성하였다.

그러면 git은 Working Directory에 변화가 있다는 것을 감지한다.

그 후 Git Add 명령을 통해서 Working Directory에서 수정/추가/삭제한 파일을 Staging Area로 등록할 수 있다.

만약 Git Add 명령으로 a.txt 파일을 등록한 후 파일을 추가적으로 수정했다면, Git Add 과정을 다시 해 주어야 한다.

Git Commit

Git Commit 명령을 통해서 Staging Area에 등록되어 있는 파일들을 Repository에 등록한다.

Git Push

Git Commit 까지의 과정을 마쳐도 모든 Source는 Local Storage에 머물게 된다.

Local Storage에 있는 Source들을 Server Storage로 전송하기 위해서는 Git Push 명령을 수행해야 한다.

이 때, Local Repository에 있는 파일들만 서버로 전송된다.

Git Pull

Server Storage에 최신 버전이 올라와 있다면, Git Pull 명령어로 다운받을 수 있다.

이 때 실제 일어나는 작업은, Server Storage의 Source들이 Local Storage의 repository로 받아지는 것이다.

하지만 Local Storage의 모든 파일 동기화가 완료된 상태라면, 자동으로 working directory까지 동기화가 이루어진다.

Summary

기본적인 Git 명령어의 Flow를 정리하면 다음과 같다.

 

이상으로 기초 사용법에 대한 글을 마친다.

 


ref. https://rogerdudler.github.io/git-guide/index.ko.html