Git
Git이란, 분산형 버전 관리 시스템(Distributed Version Control System, DVCS) 의 한 종류입니다.
버전 관리 시스템
먼저, 버전 관리 시스템(Version Control System, VCS)은 파일(코드)의 변경 이력을 저장하고, 이전 상태로 되돌리거나 변경 사항을 추적할 수 있도록 도와주는 도구입니다.
예를 들어, 코드를 과거 버전으로 되돌리거나, 누가/언제/무엇을 변경했는지 확인하거나, 여러 사람이 동시에 작업할 수 있도록 협업을 지원합니다.
중앙형 vs 분산형
이러한 버전 관리 시스템은 크게 중앙형(Centralized)과 분산형(Distributed)로 나뉩니다.
| 중앙형 | 분산형 |
| SVN | Git |
| - 모든 작업 이력(버전 정보)은 서버에만 저장됨 - 개발자는 서버에서 최신 버전만 내려받고 작업 함 - 서버가 고장나면 전체 프로젝트에 영향을 줌 |
- 모든 개발자가 서버 + 로컬에 전체 이력을 복사해 가짐 - 서버 없이도 혼자 작업, 커밋, 되돌리기 등 대부분이 가능함 - 서버와 동기화하면 협업이 완료됨 |
위로 알 수 있듯이, 중앙형 VCS과 달리 분산형 VCS는 서버가 고장나도 비교적 안전하며, 오프라인 작업이 더 수월합니다.
만약 Git을 사용하는 팀에서 서버가 터졌다해도, 개발자들의 로컬 저장소에 전체 히스토리가 남아있기 때문에 복구가 가능합니다.
이러한 이유가 분산형 VCS인 Git이 선택받는 이유 중 하나입니다.

Gist
Gist란 Github에서 제공하는 코드 공유 서비스입니다. 하나 또는 여러 개의 파일을 담을 수 있습니다. (폴더 X)
각각의 Gist는 자체 Git 저장소이기 때문에 git clone, commit, push, pull 같은 명령어들을 동일하게 사용 가능합니다.
GitHub vs Gist
깃허브 저장소도 코드 공유가 되는데, 굳이 Gist를 따로 사용하는 이유는?
깃허브는 폴더 구조를 잡고, 설정 파일을 생성하고, ... 등 절차가 무겁습니다. 반면 Gist는 제목, 공유할 부분만 코드 붙여넣기, 공개여부 선택이 끝이므로 '간단한 코드만 공유할 때'에 더 편리합니다.
또한, 같은 페이지에서 바로 댓글로 소통이 가능해, 코드 조각에 대해 토론하거나 피드백을 주고 받기 용이합니다.
'CS' 카테고리의 다른 글
| [CS] 타입스크립트의 컴파일 과정 (0) | 2025.09.21 |
|---|---|
| [CS] 컴파일러와 인터프리터, JIT (0) | 2025.09.21 |
| [CS] Unix와 Linux (0) | 2025.07.20 |
| [CS] 스택(Stack), 큐(Queue), 덱(Deque) (0) | 2025.07.08 |