[git] Pull Request (PR)

-·2026년 1월 4일

github

목록 보기
2/6

팀 프로젝트에서는 main 브랜치를 신성한 곳으로 취급하여 절대 바로 수정하지 않습니다.

핵심 흐름:
1. 작업 공간(Branch) 따로 만들기
2. 작업 후 내 공간만 GitHub에 올리기
3. "내 거 합쳐줘"라고 요청서(PR) 보내기
4. 승인되면 합치기(Merge)

1단계 : 작업 공간(Branch) 만들기 (서버 터미널)

가상의 상황을 만들어보죠. "새로운 기능인 데이터 로더(dataloader)를 만든다"고 가정합시다.

# 1. 현재 내가 main 브랜치에 있는지 확인
git checkout main

# 2. 최신 상태로 업데이트 (습관적으로 해야 함)
git pull origin main

# 3. 새로운 브랜치 생성 및 이동 (이름은 보통 feat/기능명, fix/버그명)
git checkout -b feat/dataloader
  • git checkout -b는 "브랜치를 만들고(-b) 거기로 이동해라"라는 명령어입니다.
  • 이제 터미널 프롬프트가 (feat/dataloader)로 바뀌었을 겁니다.

2단계: 작업하고 커밋하기 (서버 터미널)

이제 안심하고 코드를 막 수정하세요. 여기서 망쳐도 main은 멀쩡합니다.

# 1. 파일 생성 또는 수정
echo "print('Data Loading...')" > dataloader.py

# 2. 장바구니 담기
git add .

# 3. 커밋 (작업 저장)
git commit -m "Add dataloader base code"

3단계: 내 브랜치 업로드 (서버 터미널)

이제 중요한 점은 git push origin main이 아닙니다. 내가 만든 브랜치 이름으로 올려야 합니다.

git push origin feat/dataloader
  • 이러면 GitHub에 main 말고 feat/dataloader라는 줄기가 하나 더 생깁니다.

4단계: Pull Request(PR) 만들기 (GitHub 웹사이트)

  • 이제 서버 할 일은 끝났고, GitHub 웹페이지로 가세요.
  1. 저장소(Repository) 메인 페이지에 들어가면, 방금 올린 브랜치 때문에 노란색 박스와 함께 "Compare & pull request"라는 초록색 버튼이 생겼을 겁니다. 클릭하세요.
    • (만약 안 보이면 'Pull requests' 탭 -> 'New pull request' -> 'feat/dataloader' 선택)
  2. Open a pull request 화면이 나옵니다.
    • Title: "데이터 로더 기능 추가 구현"
    • Description: "어떤 기능을 만들었고, 어떻게 테스트했는지 적습니다."
    • Reviewers: (팀원이 있다면) 여기서 동료를 지정합니다.
  3. Create pull request 버튼 클릭.

👉 이 상태가 바로 "검토 대기 중"인 상태입니다.
실제 회사라면 여기서 동료들이 코드를 보고 댓글(Review)을 달아줍니다.

5단계: 합치기 (Merge) (GitHub 웹사이트)

팀원이 검토를 끝냈다고 가정하고, 본인이 직접 합쳐보겠습니다.

  1. PR 화면 하단의 "Merge pull request" 초록색 버튼 클릭.
  2. "Confirm merge" 클릭.
  3. 상태가 Merged(보라색)로 바뀌면 성공입니다.
  4. 옆에 "Delete branch" 버튼이 나오면 눌러주세요. (이미 합쳤으니 GitHub에 있는 찌꺼기 브랜치는 지우는 게 깔끔합니다.)

6단계: 내 컴퓨터(서버) 동기화 (서버 터미널)

GitHub(원격)의 main은 이제 코드가 합쳐져서 최신이 되었지만, 내 서버의 main은 아직 옛날 상태입니다. 업데이트를 해줘야 사이클이 끝납니다.

# 1. 다시 main 브랜치로 돌아오기
git checkout main

# 2. GitHub에서 최신 변경 사항(합쳐진 코드) 가져오기
git pull origin main
# (이제 dataloader.py 파일이 main에도 생겼을 겁니다)

# 3. 다 쓴 작업 브랜치 삭제하기 (청소)
git branch -d feat/dataloader

요약 (이 사이클만 반복하세요)
1. git checkout -b feat/기능이름 (작업방 만들기)
2. git add . -> git commit (작업하기)
3. git push origin feat/기능이름 (GitHub에 올리기)
4. 웹에서 PR 작성 & Merge (합치기)
5. git checkout main -> git pull origin main (내 컴퓨터 업데이트)

profile
살아남은 자가 강한 것

0개의 댓글