개발자들이 널리 사용하는 버전 관리 시스템인 Git은 프로젝트의 코드 변경을 추적하고 협업을 용이하게 하는 데 필수적인 도구입니다. 이 글에서는 Git의 핵심 기능과 가장 많이 사용되는 명령어를 살펴보고, 효과적인 워크플로를 위한 치트 시트를 제공합니다.
Git 설정 및 구성
- Git 초기화 (
git init
): 새로운 Git 저장소를 생성합니다. - 사용자 설정 (
git config --global user.name "이름"
,git config --global user.email "이메일"
): 커밋할 때 사용될 사용자 이름과 이메일 주소를 설정합니다.
기본 명령어
- 상태 확인 (
git status
): 현재 작업 디렉토리의 상태를 확인합니다. - 파일 추가 (
git add 파일명
): 변경된 파일을 스테이징 영역에 추가합니다. - 커밋 (
git commit -m "메시지"
): 스테이징 영역에 추가된 변경 사항을 저장소에 커밋합니다. - 변경 사항 확인 (
git diff
): 수정된 내용을 비교합니다.
브랜치 및 병합
- 브랜치 생성 (
git branch 브랜치명
): 새로운 브랜치를 생성합니다. - 브랜치 전환 (
git checkout 브랜치명
): 다른 브랜치로 전환합니다. - 브랜치 병합 (
git merge 브랜치명
): 지정한 브랜치를 현재 브랜치와 병합합니다.
원격 저장소 작업
- 원격 저장소 추가 (
git remote add origin 저장소URL
): 새로운 원격 저장소를 추가합니다. - 푸시 (
git push origin 브랜치명
): 로컬 브랜치의 변경 사항을 원격 저장소에 업로드합니다. - 풀 (
git pull origin 브랜치명
): 원격 저장소의 변경 사항을 로컬에 가져옵니다.
고급 기능
- 충돌 해결: 병합 중 발생한 충돌을 수동으로 해결합니다.
- 리베이스 (
git rebase
): 한 브랜치의 변경 사항을 다른 브랜치에 적용합니다. - 스태시 (
git stash
): 작업 중인 변경 사항을 임시로 저장합니다.
Git 워크플로
- 피처 브랜치 워크플로: 새 기능 개발 시 별도의 브랜치를 생성하여 작업합니다.
- GitFlow: 안정적인 릴리스 관리를 위해 개발(Develop), 기능(Feature), 릴리스(Release), 핫픽스(Hotfix) 브랜치를 사용하는 전략입니다.
- Forking 워크플로: 오픈 소스 프로젝트에 기여할 때 주로 사용되는 방식입니다.