Git 초보자를 위한
Source: Dev.to
프로그래밍을 배우거나 코드를 다루는 경우 Git이라는 단어를 어디서든 듣게 됩니다. Git은 처음에는 혼란스러울 수 있지만, 기본 개념을 이해하면 개발자 도구함에서 가장 강력한 도구 중 하나가 됩니다.
이 글에서는 다음을 설명합니다:
- Git과 버전 관리가 무엇인지
- Git이 변경 사항을 추적하는 방법
- 코드를 푸시하고 풀하는 방법
- 자신 있게 따라 할 수 있는 간단한 Git 워크플로우
사전 경험은 필요하지 않습니다.
1. 버전 관리란 무엇인가?
버전 관리는 파일에 대한 변경 사항을 시간에 따라 추적할 수 있게 해 주는 시스템입니다.
다음과 같이 생각해 보세요:
- 오늘 코드를 작성했습니다
- 내일 코드를 수정했습니다
- 다음 주에 문제가 발생해 이전 버전으로 되돌리고 싶어졌습니다
버전 관리는 이 문제를 다음과 같이 해결합니다:
- 모든 변경 사항의 히스토리를 보관합니다
- 이전 버전으로 되돌아갈 수 있게 합니다
- 여러 사람이 같은 프로젝트에서 작업하기 쉽게 해 줍니다
2. Git이란?
Git은 버전 관리 시스템으로, 코드 변경 사항을 추적하는 데 사용됩니다.
Git이 수행하는 주요 기능:
- 파일 변경 사항을 추적합니다
- 누가 언제 변경했는지 기록합니다
- 서로의 작업을 덮어쓰지 않도록 협업을 가능하게 합니다
- 인터넷이 없어도 컴퓨터에서 로컬로 작동합니다
Git은 GitHub와 다릅니다:
- Git → 도구
- GitHub / GitLab / Bitbucket → Git 저장소를 저장하는 온라인 플랫폼
3. 저장소란 무엇인가?
A **repository (repo)**는 Git이 추적하는 프로젝트 폴더입니다. 포함 내용:
- 프로젝트 파일(코드, 이미지, 문서)
- 버전 히스토리를 저장하는 숨김
.git폴더
두 가지 유형이 있습니다:
- Local repository → 내 컴퓨터에
- Remote repository → 온라인(예: GitHub)
4. Git이 변경 사항을 추적하는 방법
Git은 세 가지 주요 영역에서 변경 사항을 추적합니다:
1. 작업 디렉터리
파일을 일반적으로 편집하는 곳입니다.
index.html
style.css
이 단계에서는 Git이 변경 사항을 감지하지만 아직 기록하지는 않습니다.
2. 스테이징 영역
스테이징 영역은 변경 사항을 영구적으로 저장하기 전에 준비하는 곳입니다.
-
특정 파일 추가:
git add filename -
모든 파일 추가:
git add .
이를 다음과 같이 생각할 수 있습니다: “이것이 Git이 기억하도록 원하는 변경 사항이다.”
3. 커밋 기록
커밋은 특정 시점에 프로젝트의 스냅샷을 의미합니다.
git commit -m "Describe what changed"
커밋에는 다음이 포함됩니다:
- 변경 내용
- 메시지
- 날짜 및 작성자
Git 변경 흐름 (매우 중요)
Edit files → Stage changes → Commit
5. Git 설치
Git이 설치되어 있는지 확인:
git --version
설치되지 않은 경우:
- Windows: git‑scm.com에서 다운로드
- macOS: Homebrew(
brew install git) 또는 Xcode 명령줄 도구(xcode-select --install)를 통해 설치 - Linux: 패키지 관리자를 사용 (예:
sudo apt install git)
6. 첫 번째 Git 저장소 만들기
Navigate to your project folder:
cd my-project
Initialize Git:
git init
Now your folder is a Git repository.
7. 파일 상태 확인
이 명령을 자주 사용하세요:
git status
이 명령은 다음을 알려줍니다:
- 수정된 파일
- 스테이징된 파일
- 커밋 준비가 된 내용
8. 첫 커밋 만들기
-
파일을 스테이징에 추가
git add . -
변경 사항 커밋
git commit -m "Initial project setup"
이제 첫 번째 버전을 저장했습니다.
9. 푸시와 풀 이해하기
푸시란?
푸시는 로컬 커밋을 원격 저장소(예: GitHub)로 전송합니다.
git push origin main
origin→ 원격 저장소 이름main→ 브랜치 이름
작업을 업로드하거나 다른 사람이 당신의 변경 사항을 볼 수 있게 하려면 푸시를 사용합니다.
풀란?
풀은 원격 저장소의 최신 변경 사항을 로컬 머신으로 다운로드합니다.
git pull origin main
다른 사람이 코드를 업데이트했거나 작업을 시작하기 전에 최신 버전이 필요할 때 풀을 사용합니다.
중요 규칙: 충돌을 방지하려면 작업을 시작하기 전에 항상 풀을 수행하세요.
10. 브랜치 이해하기 (초급 수준)
branch는 별도의 개발 라인입니다.
main(또는master) → 안정적인 코드- Feature 브랜치 → 새로운 기능 또는 실험
새 브랜치를 만들기:
git branch feature-login
그 브랜치로 전환하기:
git checkout feature-login
한 번에 만들고 전환하기:
git checkout -b feature-login
브랜치를 사용하면:
- 안전하게 실험하기
- main 코드를 깨는 것을 방지
- 다른 사람과 병렬로 작업하기
11. 간단한 일일 Git 워크플로우
초보자도 매일 따라 할 수 있는 워크플로우:
-
최신 변경 사항 가져오기
git pull origin main -
코드 변경하기 (파일 편집)
-
상태 확인하기
git status -
변경 사항 스테이징하기
git add . -
변경 사항 커밋하기
git commit -m "Add login validation" -
원격 저장소에 푸시하기
git push origin main
12. 히스토리 보기
다음 명령으로 커밋 로그를 볼 수 있습니다:
git log
또는 더 간결한 한 줄 보기:
git log --oneline
행복한 코딩!
커밋 기록
과거 커밋 보기
git log
이것은 다음에 도움이 됩니다:
- 프로젝트 히스토리 이해
- 버그가 언제 도입되었는지 식별
- 필요시 변경 사항을 되돌리기
13. 흔히 저지르는 초보자 실수
- 변경 사항을 커밋하는 것을 잊음
- 불명확한 커밋 메시지를 작성함
- 푸시하기 전에 풀(pull)하지 않음
main브랜치에서 직접 편집함- 머지 충돌을 보고 당황함(이는 정상적인 현상임)
14. Git이 필수인 이유
Git은 다음과 같은 사람들이 사용합니다:
- 개인 개발자
- 대기업
- 오픈소스 프로젝트
Git은 다음을 도와줍니다:
- 자신 있게 작업하기
- 실수에서 복구하기
- 전문적으로 협업하기
- 실제 프로젝트 구축하기
15. 최종 생각
Git은 처음에 압도적으로 느껴질 수 있지만, 생산성을 위해 필요한 명령은 몇 개뿐입니다:
git status
git add .
git commit -m "Your message"
git push
git pull
이것들을 숙달하면 이미 Git과 버전 관리의 핵심을 이해한 것입니다.
Git을 배우는 가장 좋은 방법은 매일 사용하는 것입니다. 실수를 하고, 탐구하며, 꾸준히 연습하세요.