[Git 시리즈 5편] 브랜치와 .gitignore - 실전 팁

한국어 버전

Git의 핵심 기능인 브랜치를 사용하여 안전하게 기능을 개발하고, .gitignore로 불필요한 파일을 제외하는 방법을 실습합니다.


이 글에서 할 것

  • 브랜치 만들고 전환하기
  • 브랜치 병합하기
  • .gitignore 설정하기
  • 실전 팁 익히기

준비물

  • Git이 설치된 터미널
  • GitHub 연동이 완료된 저장소

실습 1: 브랜치 이해

브랜치란?

브랜치는 코드의 독립적인 개발 라인입니다. 여러 기능을 동시에 개발할 때 유용합니다.

예시:

  • main: 안정적인 코드
  • feature-login: 로그인 기능 개발 중
  • bugfix-error: 버그 수정 중

실습 2: 브랜치 실습

현재 브랜치 확인

git branch

예상 출력:

* main

* 표시가 현재 브랜치

새 브랜치 만들기

브랜치 만들기 zsh · ~/workspace
Ready. Press Replay to run the scripted session.

브랜치 전환

브랜치 전환 zsh · ~/workspace
Ready. Press Replay to run the scripted session.

참고: 예전 문법은 git checkout feature-login입니다.

브랜치에서 작업

echo "Login feature code" > login.txt
git add login.txt
git commit -m "로그인 기능 추가"

main 브랜치로 돌아가기

git switch main

파일 확인

ls

주의: login.txt가 없음! (브랜치가 달라서 파일도 다름)

병합 (Merge)

git merge feature-login

출력:

Updating abc1234..def5678
Fast-forward
 login.txt | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 login.txt

다시 파일 확인

ls

출력:

login.txt   # 이제 보입니다!

브랜치 삭제

git branch -d feature-login

실습 3: .gitignore 설정

.gitignore 파일 만들기

echo "node_modules/" > .gitignore
echo ".env" >> .gitignore
echo "*.log" >> .gitignore
echo ".DS_Store" >> .gitignore

.gitignore 확인

cat .gitignore

출력:

node_modules/
.env
*.log
.DS_Store

무시되는 파일 테스트

echo "test log" > test.log
git status

주의: test.log가 표시되지 않음!

.gitignore 커밋

git add .gitignore
git commit -m ".gitignore 추가"

실습 4: 실전 팁 10가지

1. 상태 자주 확인하기

git status

2. 의미 있는 커밋 메시지

git commit -m "로그인 버튼 스타일 수정"

3. 작은 단위로 자주 커밋

  • 한 기능 = 한 커밋
  • 하루 여러 번 커밋

4. diff로 변경사항 확인

git diff

5. push 전에 pull 먼저

git pull
git push

6. 충돌 해결

git pull
# 충돌 파일 수정
git add .
git commit -m "충돌 해결"

7. 임시 저장 (Stash)

git stash          # 임시 저장
git stash pop      # 복원

8. 커밋 취소

git reset --soft HEAD~1    # 마지막 커밋 취소 (변경은 유지)

9. 간략 로그

git log --oneline --graph

10. 도움말

git help 명령어
git 명령어 --help

실수 대처

"fatal: refusing to merge unrelated histories"

해결:

git pull --allow-unrelated-histories

"error: failed to push"

해결:

git pull origin main
git push origin main

실수로 중요한 파일을 커밋했어요

해결:

# .gitignore에 추가
echo "파일명" >> .gitignore

# 캐시에서 제거
git rm --cached 파일명
git commit -m "민감한 파일 제거"

Git 시리즈 완료!

Git 시리즈를 모두 완료했습니다! 이제 코드 버전 관리의 기초를 익혔습니다.

지금까지 배운 내용:

  1. Git이 필요한 이유
  2. 설치와 기본 설정
  3. 저장소 만들고 커밋하기
  4. GitHub 연동
  5. 브랜치와 .gitignore

다음 학습 추천:

  • GitHub 협업: Pull Request, Code Review
  • Git 고급: Rebase, Cherry-pick
  • CI/CD: GitHub Actions

Git 시리즈 목록

제목 주요 내용
1 Git이 뭔가요? 필요성과 장점
2 설치와 설정 설치, 이름/이메일 설정
3 저장소 만들고 커밋 init, add, commit
4 GitHub 연동 push, pull, clone
5 브랜치와 .gitignore branch, gitignore

실습 완료 체크리스트

  • 브랜치 생성
  • 브랜치 전환
  • 브랜치에서 작업 후 merge
  • .gitignore 설정
  • 팁 3가지 이상 실습
  • 문제 해결 방법 숙지

💬 댓글

이 글에 대한 의견을 남겨주세요