카테고리 없음

GitHub Flow & pull request

winter17 2023. 7. 10. 19:01

◈ 왜 브랜치를 사용해야 할까?

 

브랜치를 생성해서 관리하는 이유는 협업 시 충돌을 방지하기 위해서이다.

여러 사람이 동시에 동일한 브랜치에서 작업할 경우, 서로 다른 변경사항을 추가하거나 수정할 수 있다. 이러한 경우 충돌이 발생하는데 충돌은 Git이 자동으로 해결할 수 없고, 수동으로 해결해야 한다.

따라서, 개발자는 자신의 작업을 위해 개별적인 브랜치를 생성하여 작업하고, 작업이 완료되면 메인 브랜치로 변경사항을 병합(merge)한다. 이렇게 하면 개발자들이 서로의 작업에 영향을 주지 않고 독립적으로 작업할 수 있으며, 충돌을 최소화할 수 있다. 

브랜치를 사용하면 협업의 효율성과 안정성을 높이는데 도움이 된다.


0. 타인의 저장소에서 프로젝트를 가져오는 경우

본인의 저장소로 Fork한 후 본인 계정의 저장소에서 클론한다

git clone <저장소 주소>

 

1. 원격 저장소에서 최신 코드 가져오기

git pull origin main

 

2. 새로운 브랜치 생성

git branch <새로운 브랜치 이름>

 

3. 새로운 브랜치로 이동

git checkout <새로운 브랜치 이름>​

 

2 + 3. 브랜치 생성 & 이동

// 브랜치 생성 & 이동
git checkout -b <브랜치 이름>

 

4. 작업 수행 : 파일/폴더를 수정, 추가, 삭제 등 작업을 진행

 

5. 변경 내용을 스테이지에 추가

git add <수정한 파일/폴더>

 

6. 커밋 생성

git commit -m "작업 내용을 간단히 설명하는 메시지"​

 

7. 작업이 완료된 브랜치를 메인 브랜치에 병합

git checkout main
git merge <새로운 브랜치 이름>

 

8. 변경 내용을 원격 저장소에 업로드

// 기본 브랜치는 보통 main 또는 master인데 반드시 기본 브랜치 이름을 명시해야한다.
git push origin main

◈ Git pull request

git pull request는 GitHub 웹 페이지에서 코드 리뷰 및 병합을 진행하기 위한 기능이다.

아래의 과정을 따라서 pull request를 요청하고, 코드 리뷰와 피드백을 받으며 변경 사항을 병합할 수 있다. 

GitHub의 pull request 기능은 효율적인 협업과 코드 검토를 위한 중요한 도구로 사용된다. 


9. pull request 생성

push를 완료 후 본인 계정의 github 저장소에 들어가면 compare & pull request 버튼이 활성화되어 있는데 해당 버튼을 선택하여 메시지를 작성하고 PR을 생성한다(create pull request). 

 

10. 코드 리뷰 & merge

PR을 받은 원본 저장소 관리자는 코드 변경내역을 확인하고 merge 여부를 결정한다.

 

11. merge 이후 동기화 및 branch 삭제

원본 저장소에 merge가 완료되면 로컬 코드와 원본 저장소의 코드를 동기화한다.

작업하던 로컬의 branch를 삭제한다.

// 코드 동기화 
git pull origin main
// 브랜치 삭제
git branch -d <브랜치 이름>

추가 작업이 있을 경우 2번부터 11번까지 반복하기!