실무 Git 사용법 | 좋은 Commit과 .gitignore 작성법
Git을 사용할 줄 아는 것과 Git을 잘 사용하는 것은 다릅니다. 이번 강의에서는 실무에서 사용하는 Commit 메시지 작성법, .gitignore 파일의 역할, 프로젝트 버전 관리 습관, AI와 협업할 때의 Git 관리 방법을 알아봅니다. 좋은 Git 습관은 프로젝트를 더욱 안전하고 관리하기 쉽게 만들어 줍니다.
Git을 사용할 줄 아는 것과 잘 사용하는 것은 다릅니다.
지금까지 우리는
Git 설치
Commit
Push
Pull
Branch
를 배웠습니다.
하지만 실무에서는
단순히 명령어만 사용하는 것이 아니라
프로젝트를 관리하는 방법이 더욱 중요합니다.
오늘은 실무 개발자가 사용하는 Git 습관을 배워보겠습니다.
좋은 Commit은 프로젝트의 역사입니다.
Commit은 단순히 저장하는 기능이 아닙니다.
Commit은
프로젝트의 역사를 기록하는 일기장입니다.
예를 들어
회원가입 완료
↓
Commit
↓
로그인 추가
↓
Commit
↓
게시판 추가
↓
Commit
이렇게 기록하면
나중에 언제 어떤 기능이 추가되었는지 쉽게 확인할 수 있습니다.
좋은 Commit 메시지 작성하기
많은 초보자가
수정
test
aaaa
123
처럼 Commit을 작성합니다.
이렇게 하면
한 달 후에는 무엇을 수정했는지 기억할 수 없습니다.
좋은 예
회원가입 기능 추가
로그인 오류 수정
게시판 작성 기능 구현
상품 삭제 버그 수정
결제 API 연결
Commit 제목만 보더라도
무엇을 변경했는지 바로 알 수 있습니다.
Commit은 얼마나 자주 해야 할까요?
초보자는
하루 종일 개발하고
한 번만 Commit하는 경우가 많습니다.
하지만 실무에서는
기능 하나가 끝날 때마다 Commit합니다.
예를 들어
프로젝트 생성
↓
Commit
회원가입
↓
Commit
로그인
↓
Commit
게시판
↓
Commit
이렇게 하면
원하는 기능 단위로 복구할 수 있습니다.
.gitignore란?
프로젝트에는 Git으로 관리하면 안 되는 파일도 있습니다.
대표적으로
node_modules
.env
logs
uploads
cache
temp
같은 파일입니다.
이런 파일은
.gitignore
파일에 작성합니다.
왜 .gitignore를 사용할까요?
예를 들어
Node.js 프로젝트를 만들었습니다.
project
├── app.js
├── package.json
└── node_modules
node_modules는
라이브러리만 저장되어 있는 폴더입니다.
용량이 수백 MB가 될 수도 있습니다.
Git에 올릴 필요가 없습니다.
그래서
node_modules/
를
.gitignore에 작성합니다.
.gitignore 예제
Node.js 프로젝트라면
node_modules/
.env
logs/
dist/
coverage/
*.log
정도는 기본적으로 많이 사용합니다.
.env는 반드시 제외하세요.
환경설정 파일인
.env
에는
DB_PASSWORD
API_KEY
SECRET_KEY
JWT_SECRET
같은 중요한 정보가 들어 있습니다.
이 파일을 Git에 올리면
비밀번호가 인터넷에 공개될 수도 있습니다.
그래서 반드시
.env
를 작성해야 합니다.
AI와 협업할 때도 .gitignore는 중요합니다.
AI에게
"프로젝트를 분석해 줘."
라고 요청했는데
node_modules까지 함께 분석한다면
필요 없는 파일까지 읽게 됩니다.
.gitignore를 잘 관리하면
AI도 프로젝트를 더 빠르게 이해할 수 있습니다.
Tag란?
Git에는
특정 버전을 표시하는 기능도 있습니다.
예를 들어
v1.0
v1.1
v2.0
처럼
릴리즈 버전을 기록할 수 있습니다.
명령어는
git tag v1.0
입니다.
프로젝트를 배포할 때 자주 사용합니다.
Release란?
Tag보다 한 단계 큰 개념입니다.
예를 들어
v1.0 출시
↓
v1.1 버그 수정
↓
v2.0 새로운 기능
처럼
사용자에게 공개하는 버전을 Release라고 합니다.
GitHub나 pohang.io에서도 Release 기능을 제공합니다.
AI 시대의 Commit 습관
AI와 협업할 때는
다음 순서를 추천합니다.
현재 프로젝트
↓
Commit
↓
AI에게 기능 요청
↓
AI 코드 생성
↓
테스트
↓
Commit
↓
다음 기능
즉,
AI가 작업하기 전에도 Commit,
작업이 끝난 후에도 Commit입니다.
Commit 메시지도 AI가 이해합니다.
예를 들어
회원가입 기능 추가
라고 Commit했다면
AI도 프로젝트의 흐름을 이해하기 쉽습니다.
반대로
test
라고 작성하면
사람도 AI도 이해하기 어렵습니다.
좋은 Commit은
AI와 협업하는 데에도 큰 도움이 됩니다.
실무에서 추천하는 Git 습관
1. 기능 하나마다 Commit
큰 작업을 한 번에 저장하지 않습니다.
2. 좋은 Commit 메시지 작성
무엇을 변경했는지 명확하게 작성합니다.
3. .env는 절대 업로드하지 않기
비밀번호와 API 키를 보호합니다.
4. node_modules는 업로드하지 않기
프로젝트 용량을 줄이고 관리하기 쉽게 만듭니다.
5. AI 작업 전에는 반드시 Commit
AI가 실수해도 언제든 복구할 수 있습니다.
오늘 배운 내용
항목 | 설명 |
|---|---|
좋은 Commit | 기능 단위로 저장하기 |
Commit 메시지 | 변경 내용을 명확하게 작성 |
.gitignore | Git이 관리하지 않을 파일 지정 |
.env | 반드시 제외해야 하는 파일 |
node_modules | Git에 올리지 않는 폴더 |
Tag | 버전 표시 |
Release | 프로젝트 배포 버전 |
기억하면 좋은 흐름
기능 완료
↓
Commit
↓
AI 작업
↓
Commit
↓
Push
↓
Release
이 흐름이 실무에서 가장 많이 사용하는 Git 관리 방식입니다.
마무리
오늘은 Git 명령어가 아니라 Git을 잘 사용하는 방법을 배웠습니다.
좋은 Commit과 .gitignore는 프로젝트를 안전하게 관리하는 기본 습관입니다.
특히 AI와 함께 개발하는 시대에는 작은 기능마다 Commit하고, 중요한 파일은 .gitignore로 관리하는 것이 프로젝트를 오래 유지하는 가장 좋은 방법입니다.
다음 강의에서는 여러 개발자가 함께 프로젝트를 개발하는 협업 방법과 Pull Request, Code Review, Conflict(충돌) 를 해결하는 방법을 알아보겠습니다.
FAQ
Q1. Commit 메시지는 영어로 작성해야 하나요?
아닙니다. 개인 프로젝트라면 한국어도 충분합니다. 중요한 것은 무엇을 변경했는지 명확하게 작성하는 것입니다.
Q2. .gitignore에 추가한 파일은 이미 Git에 올라갔다면 자동으로 제외되나요?
아닙니다. 이미 추적 중인 파일은 계속 관리됩니다. .gitignore는 새롭게 추적할 파일을 제외하는 역할을 합니다. 이미 올라간 파일은 Git 추적에서 제거하는 작업이 추가로 필요합니다.
Q3. AI와 협업할 때 Commit은 얼마나 자주 해야 하나요?
큰 기능을 요청하기 전에는 반드시 Commit하는 것을 추천합니다. 작은 수정이라도 의미 있는 작업이 끝났다면 Commit하는 습관이 프로젝트를 가장 안전하게 관리하는 방법입니다.
로그인하면 진도를 저장할 수 있습니다.