1. Version Control System, VCS
버전관리 시스템(Version Control System, VCS)은 파일의 변화를 시간에 따라 기록했다가, 나중에 특정 시점의 버전을 다시 불러올 수 있는 시스템을 말합니다.
쉽게 말해, 게임의 '세이브 포인트'와 같습니다. 보스 몹을 잡기 전(중요한 코드 수정 전)에 세이브를 해두면, 나중에 실수를 해서 게임 오버(에러 발생)가 되어도 저장했던 시점으로 되돌아 갈 수 있는 것이죠.

오픈소스계의 영원한 아이돌 '리누스 토르발스'는 리눅스 커널을 관리하는 기존 툴이 엉망인 것에 너무 빡친 바람에 Git이라는 소스관리 툴을 만든다. 리누스는 하도 빡친 나머지, 단 2주만에 완성하는 기염을 토했다.
- '오픈소스의 승리' 중에서
(1) VCS가 왜 필요한가요? (초보자용 핵심 이유)
- 실수 복구: 코드를 수정하다가 망가졌을 때, 어제 작성했던 '잘 돌아가는 버전'으로 1초 만에 되돌릴 수 있습니다.
- 협업: 여러 사람이 같은 파일을 수정해도 코드가 섞이거나 덮어씌워지는 사고를 막아줍니다.
- 이력 확인: "이 코드는 누가, 언제, 왜 바꿨지?"라는 질문에 대한 답을 로그(Log)를 통해 바로 확인할 수 있습니다.
- 실험: 현재 돌아가는 프로그램은 그대로 두고, 새로운 기능을 추가하는 '실험용 복사본(Branch)'을 만들어 마음껏 테스트해 볼 수 있습니다.
(2) VCS의 종류 (중앙 집중형 vs 분산형)
과거에는 중앙 서버 하나에만 저장하는 방식을 썼지만, 지금은 Git과 같은 분산형이 대세입니다.
| 구분 | 중앙 집중형(CVCS) | 분산형(DVCS) |
| 대표 도구 | Subversion (SVN), Perforce | Git, Mercurial |
| 특징 | 중앙 서버에만 전체 이력이 있음 | 모든 개발자가 전체 이력을 복사해서 가짐 |
| 장점 | 관리가 직관적임 | 서버가 없어도 오프라인 작업 가능, 빠름 |
| 단점 | 서버 다운 시 작업 중단 | 초기 학습 곡선이 다소 높음 |
2. Git과 GitHub은 다른 건가요?
이 부분을 많이 헷갈려 하시는데, 명확히 구분하면 이렇습니다.
- Git: 내 컴퓨터에서 돌아가는 "소프트웨어(도구)" 입니다. (엔진)
- GitHub: Git으로 관리하는 프로젝트를 올려두는 "클라우드 서비스(웹사이트)"입니다. (주차장)
3. 설치 (mac user)
[참고] https://git-scm.com/install/mac
(1) Homebrew 사용
대부분의 macOS 개발 환경에서는 brew를 사용합니다. 이미 설치되어 있다면 아래 명령어로 간단히 Git을 설치할 수 있습니다.
brew install git
만약 brew도 없다면 brew.sh에서 설치 스크립트를 복사해 실행하세요.
macOS는 git 명령어를 처음 입력할 때 자동으로 설치를 제안하기도 합니다. 터미넝레 그냥 git만 입력해 보세요.
git --version
(2) VS Code(Visual Studio Code) 설치 : 이미 설치했다면 건너뛰세요!
a. 만약 VS Code가 아직 없다면, Homebrew를 통해 바로 설치할 수 있습니다.
brew install --cask visual-studio-code
b. VS Code는 기본적으로 시스템에 설치된 Git을 자동으로 찾아냅니다.
- VS Code를 실행합니다.
- 왼쪽 사이드바에서 'Source Control' 아이콘(세 개의 점이 연결된 모양)을 클릭합니다.
- 만약 폴더를 열지 않았다면 Open Folder 버튼이 보일 것입니다. 프로젝트 폴더를 열면 Git 상태가 자동으로 표시됩니다.
c. 터미널에서 code 명령어로 열기 설정
터미널에서 바로 VS Code를 열 수 있게 설정하면 매우 편리합니다.
- VS Code를 엽니다.
- Command + Shift + P 를 눌러 명령 팔레트를 엽니다.
- 'shell command'를 입력하여 Shell Command: Install 'code' command in PATH 를 선택해 실행합니다.
- 이제 터미널에서 code . 을 입력하면 현재 디렉토리가 VS Code로 열립니다.
d. Git 사용자 정보 설정 (필수)
Git을 처음 설치하셨다면, 커밋을 남길 때 사용할 이름과 이메일을 등록해야 합니다. 터미널에 다음을 입력하세요.
git config --global user.name "본인이름"
git config --global user.email "이메일주소"
두 가지 설정이 모두 정확히 들어갔는지 확인하려면 다음 명령어를 입력해 보시면 됩니다.
git config --list
e. git init
git init은 특정 폴더를 "Git이 관리하는 저장소(Repository)"로 변신시키는 명령어입니다.
이 명령어를 입력하기 전까지 그 폴더는 평범한 폴더지만, 입력하는 순간부터 Git이 폴더 내의 모든 변화를 감시하기 시작합니다.
git init
'Python & SQL > Git & GitHub' 카테고리의 다른 글
| Git · GitHub · Sourcetree 차이점과 연동 방법 정리 (0) | 2026.03.05 |
|---|---|
| 04. Git의 3가지 작업 영역 (0) | 2026.02.23 |
| 03. Git 매뉴얼 보는 법 (mac) (0) | 2026.02.23 |
| 02. Git 디렉토리 관련 명령어 (mac) (0) | 2026.02.23 |
| 깃허브 GitHub 설치 및 repository(레파지토리) 생성하기 (0) | 2021.05.11 |