Git은 개발자들이 코드 버전을 관리하고 협업할 수 있도록 돕는 중요한 도구입니다.
이번 포스팅에서는 Git을 처음 사용하는 사람부터 중급 사용자까지 유용하게 사용할 수 있는 주요 명령어들을 소개하겠습니다.
브랜치 생성부터 PR(풀 리퀘스트)까지, Git의 기본적인 흐름을 단계별로 설명합니다.
1. 브랜치 만들기
새로운 기능을 개발하거나, 특정 작업을 독립적으로 진행할 때는 별도의 브랜치를 생성하는 것이 일반적입니다.
git checkout -b new_branch
이 명령어는 new_branch라는 새 브랜치를 생성하고, 해당 브랜치로 바로 전환합니다.
독립적인 브랜치에서 작업을 진행하면, 메인 브랜치와의 충돌을 방지할 수 있습니다.
2. 특정 파일만 add하기
특정 파일만 스테이징하려면 아래 명령어를 사용하세요.
git add 파일명
이 명령어는 파일명이라는 특정 파일만 스테이징합니다. 필요한 파일만 선택적으로 추가하여 작업할 수 있습니다.
3. 전체 파일 한꺼번에 add하기
프로젝트 내 모든 변경 사항을 한 번에 스테이징하려면 아래 명령어를 사용합니다.
git add .
git add . 명령어는 현재 디렉토리의 모든 변경 사항을 한꺼번에 추가합니다.
4. add 취소하기 (되돌리기)
이미 스테이징한 파일을 다시 스테이징에서 제거하고 싶을 때 사용합니다.
git rm --cached 파일명
이 명령어는 스테이징된 파일을 다시 제거합니다. 파일은 삭제되지 않으며, 단순히 스테이징에서 제외됩니다.
5. 커밋하기
변경 사항을 기록하고 저장하려면 커밋이 필요합니다.
git commit -m "커밋 메시지"
이 명령어는 스테이징된 변경 사항을 커밋하고, 메시지를 통해 해당 변경 사항에 대해 설명합니다.
6. git add & commit을 한꺼번에 하기
수정한 파일을 스테이징하고, 동시에 커밋할 수 있는 방법입니다.
git commit -am "커밋 메시지"
-a 옵션은 추적되고 있는 파일들을 자동으로 스테이징하고, -m 옵션은 커밋 메시지를 추가합니다.
7. 리모트 변경 사항 가져오기
리모트 저장소의 변경 사항을 로컬로 가져올 때는 fetch 명령어를 사용합니다.
git fetch origin
이 명령어는 원격 저장소 origin에서 최신 변경 사항을 가져옵니다.
이때 병합은 자동으로 일어나지 않으며, 단순히 리모트 변경 사항을 확인하는 용도로 사용됩니다.
8. 로컬 브랜치를 리모트 브랜치와 병합하기
리모트에서 가져온 변경 사항을 로컬 브랜치에 병합하려면 merge 명령어를 사용합니다.
git merge origin/main
이 명령어는 로컬 브랜치에 리모트 브랜치(origin/main)의 최신 변경 사항을 병합합니다.
9. 푸시하기
로컬에서 작업한 내용을 리모트 저장소로 푸시하려면 아래 명령어를 사용합니다.
git push origin cpp-branch
이 명령어는 로컬 브랜치 cpp-branch의 변경 사항을 리모트 저장소로 푸시합니다. 이를 통해 팀원들과 작업 내용을 공유할 수 있습니다.
10. PR(풀 리퀘스트) 만들기
작업한 내용을 리모트 저장소에 푸시한 후, 풀 리퀘스트(PR)를 만들어 코드 리뷰 및 병합을 요청할 수 있습니다.
풀 리퀘스트는 보통 GitHub, GitLab, Bitbucket 같은 Git 플랫폼에서 진행됩니다.
예를 들어, GitHub에서 PR을 만드는 절차는 다음과 같습니다.
- GitHub에서 브랜치 선택: 푸시한 브랜치를 선택한 후, "Pull Request" 버튼을 클릭합니다.
- PR 제목 및 설명 작성: 어떤 작업을 했는지 설명하는 제목과 내용을 작성합니다.
- 코드 리뷰 요청: 팀원들에게 코드 리뷰를 요청할 수 있습니다.
- 병합 요청: PR이 승인되면 메인 브랜치에 병합(Merge 버튼 누르기!) 할 수 있습니다.
풀 리퀘스트는 협업 프로젝트에서 코드 리뷰 및 품질 관리를 하는 중요한 과정입니다.