Computer Science

[Github] pull request(pr) 날리기

Hello, World!

이번 학기에 새로운 예측 프로젝트를 진행중이다. 뉴스기사수와 포털 트렌드의 주간 데이터들을 수집하여, 월간 경제 지표인 소비자심리지수를 예측하여 새로운 주간 경제 지표를 개발하는 프로젝트이다. 

팀 프로젝트를 진행 중인데, 코드는 주로 새벽에 짜다보니, 회의 시간 이외의 팀간 의사소통을 카톡으로만 하는 것이 무리인 것으로 보였고, 드디어 활용해본 gitHub의 pr기능...✨👍✨ 이제야 써보다니.. 장점으로는, 코드 충돌을 방지할 수 있고, 내 코드에 대한 설명을 덧붙이기 좋고, 팀원들과 해당 pr에 대해 대화를 나눌 수 있다는 점. 그리고 또 당연히 버전 기록도 남는다. 

✨유의할 점✨ PR과 merge는 다른 개념이다.
merge를 하기 직전에만 PR을 날릴 수 있는 것이 아니고, 브랜치를 따서 작업을 하다가 중간 중간 협업자에게 PR을 날려서 확인을 요청할 수 있다.

이렇게 pr기능을 활용할 수 있다!! pr 날리는 것은 전혀 어렵지 않다!!
branch를 생성해서, 해당 브랜치에 변경사항을 push하고 pr을 날리면 된다! 오늘도 역시나 내가 자꾸 명령어를 까먹어서 쓰는거다. 🤦‍♀️


이미 로컬 저장소와 원격 저장소가 연동되어있는 상황을 전제하고 작성하겠다. (만약 clone 및  remote가 필요한 상황이라면, 이전 글을 참고하면 된다.)

1. branch 생성

# branch 생성
git checkout -b [branch name]

# branch list확인 및 현재 branch 확인
git branch

2. add, commit, push

# master/main 에 push하는 것과 같음
git add .
git status
git commit -m "[commit 내용]"

# 생성한 brunch에 push
git push origin [branch name]

3. pull request 생성

- github repo에 들어오면, compare & pull request 버튼이 활성화되어 있다. 클릭해보자! 

- pr 날릴 때, 보여줄 코멘트를 작성하고, create pull request
사진 예시에서는 Assignees, Projects, Milestone등을 설정하지 않았지만, 오른쪽 바에서 지정할 수 있다. 
현재 변경된 코드의 확인을 요청할 때, 요청 대상인 협업자를 Assignees에 지정하면 이메일을 통해 알람이 간다. 

4. merge pr

- 팀원이 comment를 남길 수 있고, 뭐 나도 더 남길 수도 있다. 우리 팀원이 코멘트를 달고, merge 해주길 기다려본다...! 
( 이 상황은 merge를 위한 상황이지만, 맨 앞에서 유의할 점에 작성했 듯! 반드시 merge의 상황에서만 PR을 날리는 것은 아니다!! )


5. 동기화 및 branch 삭제

(PR + merge상황일 때)
아직 merge가 되진않았지만, merge가 된 후에는 해당 브랜치는 더이상 필요가 없기때문에.... 삭제해버리자 !

다만, 삭제하면 reset --hard를 하거나 등등의 상황에서 아주 귀찮아질 수 있기때문에, 나는 한~참 후에 삭제하는 편이다.

# master/main으로 브랜치 변경
git checkout master

# 브랜치 삭제
git branch -D [branch name]

# 원격 브랜치 삭제
git push -u origin :[branch_name]

 

성공적으로 pr을 날려보았다!! 그럼 이만..👏