Git은 협업 개발에서 버전 관리와 안정적인 배포를 위해 필수적으로 사용됩니다.
아래는 실무에서 자주 사용하는 Git 명령어와 핵심 개념을 쉽게 정리한 내용입니다.
git checkout {branch명}
git checkout feature/login
git 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 development
git 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 |