01. Git 기초

What is Git?

Git이란 소스코드를 효과적으로 관리하기 위한 분산형 버전 관리 시스템 (Distributed Version Control System) 이다.

소스코드의 변경 이력을 쉽게 확인할 수 있고, 이전 시점으로 되돌아갈 수 있으며, 다른 사람과의 공동 작업시 충돌을 방지할 수 있다.

Git VS GitHub

github는 git을 이용한 원격저장소이다. 즉, 온라인을 통해 협업이 필요할 경우 사용하게 된다. 유사한 서비스로 GitHub말고도 GitLab, BitBucket 등이 있다.

용어

Repository

Repository(저장소)는 말 그대로 파일을 저장해두는 장소다.
Git은 Remote Repository(원격 저장소), Local Repository(로컬 저장소) 두 가지 타입의 Repository가 존재한다.

Git remote repository.png|500

Commit

파일 및 폴더의 추가/제거/변경 사항들을 저장소에 기록하려면 Commit을 해줘야 한다.
커밋을 하면 변경 이록이 기록된 커밋이 만들어진다. 커밋은 시간순으로 저장되며 과거 변경 이력과 내용을 알 수 있다.

Work Tree / Index

Git에서는 우리가 흔히 말하는 폴더를 Work Tree라고 부른다. 그리고 Commit을 하기 전 Repository와 Work Tree 사이에 존재하는 공간을 Index 라고 한다.

work tree.png
Commit을 하면 바로 Repository에 기록되는 것이 아니라 Index에 등록된(스테이징 한다고 표현한다.) 파일을 Repository에 기록한다.
이러한 과정을 통해 자신이 반영하고 싶은 파일만 Index에 스테이징 후 Repository에 반영할 수 있다.


다음 글: 02. commit, push