Git 초보자를 위한 가이드: 버전 관리 이해
Source: Dev.to
Introduction
Git에 대해 처음 들으면 위압적으로 느껴질 수 있지만, Git이 왜 존재하는지와 기본 명령어가 어떻게 동작하는지를 이해하면 모든 것이 자연스럽게 와닿습니다. 이 가이드는 다음을 안내합니다:
- 버전 관리가 무엇인지 (일반적인 언어로)
- Git이 변경 사항을 어떻게 추적하는지
- 코드를 푸시하고 풀하는 방법
- 가장 흔히 사용하는 Git 명령어
문서를 수동으로 여러 버전 저장하는 모습을 상상해 보세요:
project_final.docx
project_final_v2.docx
project_final_really_final.docx
이제 코드를 몇 달, 몇 년에 걸쳐 여러 사람이 작업한다면 어떻게 될까요? 바로 버전 관리가 필요한 이유입니다.
- 시간에 따라 변경 사항을 추적
- 문제가 생겼을 때 이전 버전으로 복구
- 서로의 작업을 덮어쓰지 않고 협업
- 누가 언제 무엇을 변경했는지 파악
Git은 가장 널리 쓰이는 버전 관리 시스템입니다. 로컬 컴퓨터에서 프로젝트 파일을 추적하고, 작업의 “스냅샷”을 저장하며, GitHub이나 GitLab 같은 온라인 플랫폼과 연결해 줍니다.
Key Git Concepts
Repository (Repo)
- Local repository – Git이 추적하는 당신 컴퓨터의 폴더.
- Remote repository – 온라인에 존재하는 복사본(예: GitHub).
코드는 로컬에서 작성·수정하고, 커밋하고 푸시하기 전까지는 로컬에만 존재합니다.
Staging
변경 사항을 저장하기 전에 Git은 “어떤 변경을 포함시킬까요?” 라고 묻습니다.
Staging area는 그 변경을 준비하는 공간이며, commit은 프로젝트의 저장된 스냅샷입니다. 각 커밋은:
- 고유 ID(식별자)를 가짐
- 설명(커밋 메시지)을 가짐
- 나중에 복원 가능
Installing Git
Git이 설치되어 있는지 확인:
git --version
설치되지 않았다면:
-
Linux
sudo apt install git -
macOS
brew install git -
Windows – 다운로드:
Initializing a Repository
프로젝트 폴더로 이동한 뒤 실행:
git init
Git에게 해당 폴더를 추적하도록 알려줍니다.
Basic Git Workflow
Checking Status
git status
수정된 파일, 스테이징된 파일, Git이 기다리는 작업을 보여줍니다.
Adding Changes
-
특정 파일 추가:
git add project1.py -
모든 변경 사항 스테이징:
git add .
Committing
git commit -m "Add python file"
💡 Tip: 커밋 메시지는 사람을 위한 명확한 설명으로 작성하세요.
Pushing
git push origin main
- 커밋을 원격 저장소(예: GitHub)로 전송합니다.
- 푸시 후에는 코드가 온라인에 올라가며, 다른 사람들이 접근할 수 있고 작업이 백업됩니다.
Pulling
git pull origin main
- 원격 저장소에서 최신 변경 사항을 가져옵니다.
- 작업을 시작하기 전에
git pull을 실행해 최신 상태를 유지하세요.
일상적인 작업 흐름:
git pull
# make changes
git status
git add .
git commit -m "Describe what you changed"
git push
Viewing Log
git log
커밋 히스토리, 작성자, 타임스탬프, 메시지를 보여줍니다.
Essential Commands to Remember
git statusgit addgit commitgit pushgit pull
연습을 거듭하면 Git에 익숙해지고 프로젝트를 효율적으로 관리할 수 있게 됩니다.
Happy coding! 🚀