Git

Git 강좌 01강 — Git이란 무엇인가 + 설치와 초기 설정

🎯 학습 목표

  • 버전 관리 시스템(VCS)이 왜 필요한지 이해한다.
  • Git을 설치하고 사용자 정보를 설정한다.
  • 첫 저장소(repository)를 만들고 상태를 확인한다.

📖 개념 설명

Git은 코드의 변경 이력을 스냅샷으로 기록하는 분산 버전 관리 시스템입니다. “어제는 되던 코드가 왜 안 되지?”를 추적하고, 언제든 과거 시점으로 되돌아갈 수 있게 해 줍니다. 또 여러 사람이 같은 코드를 동시에 작업하고 합칠 수 있게 해 협업의 기반이 됩니다.

“분산”이라는 말은 모든 개발자가 전체 이력을 자기 PC에 복제해 가진다는 뜻입니다. 그래서 인터넷이 끊겨도 커밋·이력 조회가 가능하고, 중앙 서버에 문제가 생겨도 누군가의 사본으로 복구할 수 있습니다.

Git을 이해하는 핵심은 세 가지 공간입니다. 작업 중인 파일이 있는 작업 디렉토리(Working Directory), 커밋할 변경을 모아 두는 스테이징 영역(Staging Area), 그리고 확정된 이력이 쌓이는 저장소(Repository)입니다. 이 흐름을 알면 이후 모든 명령이 자연스럽게 연결됩니다.

💻 실습 — 설치와 설정

# Windows: winget으로 설치
winget install Git.Git
# (또는 https://git-scm.com 에서 설치 / WSL: sudo apt install git)

git --version

# 커밋에 기록될 사용자 정보 (최초 1회)
git config --global user.name "내이름"
git config --global user.email "me@example.com"

# 기본 브랜치 이름을 main으로
git config --global init.defaultBranch main

# 한글 파일명 깨짐 방지
git config --global core.quotepath false

💻 실습 — 첫 저장소

mkdir my-project
cd my-project

# 현재 폴더를 Git 저장소로 초기화
git init

# 파일 생성 후 상태 확인
echo "# My Project" > README.md
git status            # README.md가 "Untracked"로 표시됨

⚠️ 주의사항

  • Windows에서 줄바꿈 경고(CRLF/LF)가 뜨면 git config --global core.autocrlf true를 설정하세요.
  • user.email은 GitHub 계정 이메일과 맞추면 커밋이 본인 계정에 연결됩니다.

💡 팁

  • git config --list로 현재 설정을 한눈에 볼 수 있습니다.
  • VS Code를 기본 에디터로: git config --global core.editor "code --wait".