Git은 협업 개발에서 버전 관리와 안정적인 배포를 위해 필수적으로 사용됩니다.
아래는 실무에서 자주 사용하는 Git 명령어와 핵심 개념을 쉽게 정리한 내용입니다.
git checkout {branch명}
git checkout feature/logingit merge {branch명}
git merge development특징
✔ 안전하고 충돌 관리가 쉽다.
✖ 병합 커밋(M)이 생겨 히스토리가 복잡해질 수 있다.
git rebase {branch명}
git rebase --continue로 진행합니다."마치 처음부터 해당 브랜치에서 작업한 것처럼" 커밋 히스토리를 재구성하는 것.
feature/app 브랜치에서 작업 중, development에 새로운 커밋이 추가된 상태:
development: A -- B -- C -- D
\
feature/app: E -- F
git checkout feature/app
git merge development
결과:
A -- B -- C -- D ----------- M
\ /
E -- F
git checkout feature/app
git rebase development
결과:
A -- B -- C -- D -- E' -- F'
| merge | rebase | |
|---|---|---|
| 히스토리 | 지저분해질 수 있음 | 깔끔하고 직선적 |
| 충돌 | 한 번에 | 커밋마다 가능 |
| 협업 | 안전 | 혼자 작업 시 유리 |
| 커밋 순서 | 보존 | 재배치 |
git stash
git checkout {branch명}
git stash apply
git push origin {branch명}
git pull
git pull origin developmentgit add .
git status
git commit -m "feat: 사용자 로그인 기능 구현"
feat: 새로운 기능fix: 버그 수정docs: 문서 수정style: 코드 스타일 변경refactor: 리팩토링test: 테스트 코드 추가chore: 기타 작업Git Flow 또는 Trunk-based 방식을 참고하면 좋습니다.
main 또는 master: 배포용development: 개발 통합feature/xxx: 기능 개발bugfix/xxx: 버그 수정hotfix/xxx: 긴급 수정| 작업 | 명령어 |
|---|---|
| 브랜치 최신화 | git pull origin development |
| 기능 개발 시작 | git checkout -b feature/기능명 |
| 커밋 메시지 | git commit -m "feat: 기능 설명" |
| 병합하기 | git merge development |
| 충돌 해결 후 진행 | git add . && git commit 또는 git rebase --continue |
| 임시 저장 | git stash && git stash apply |