Git의 핵심 기능인 브랜치를 사용하여 안전하게 기능을 개발하고, .gitignore로 불필요한 파일을 제외하는 방법을 실습합니다.
이 글에서 할 것
- 브랜치 만들고 전환하기
- 브랜치 병합하기
- .gitignore 설정하기
- 실전 팁 익히기
준비물
- Git이 설치된 터미널
- GitHub 연동이 완료된 저장소
실습 1: 브랜치 이해
브랜치란?
브랜치는 코드의 독립적인 개발 라인입니다. 여러 기능을 동시에 개발할 때 유용합니다.
예시:
main: 안정적인 코드
feature-login: 로그인 기능 개발 중
bugfix-error: 버그 수정 중
실습 2: 브랜치 실습
현재 브랜치 확인
git branch
예상 출력:
* main
* 표시가 현재 브랜치
새 브랜치 만들기
참고: 예전 문법은 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
실수 대처
해결:
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 시리즈를 모두 완료했습니다! 이제 코드 버전 관리의 기초를 익혔습니다.
지금까지 배운 내용:
- Git이 필요한 이유
- 설치와 기본 설정
- 저장소 만들고 커밋하기
- GitHub 연동
- 브랜치와 .gitignore
다음 학습 추천:
- GitHub 협업: Pull Request, Code Review
- Git 고급: Rebase, Cherry-pick
- CI/CD: GitHub Actions
Git 시리즈 목록
실습 완료 체크리스트
💬 댓글
이 글에 대한 의견을 남겨주세요