Tech

[Bitbucket-형상관리] Fork 부터 PR(Pull Request) 까지 한 큐에 정리!!!

newjin_ 2022. 10. 14. 16:08

저희는 CI/CD (Continuous Integration/Continuous Delivery) 방법으로 DevOps 솔루션인 Atlassian 의 제품을 사용하고 있는데요.

 

이번 블로그에서는 Atlassian 제품인 Bitbucket 으로  소스 레파지토리 "Fork 부터 Pull Request 하는 법 (feat. Sourcetree)" 에 대하여, 알아보겠습니다. 

참고로, Jira 에 Bitbucket 을 연결하여 사용하면, Jira에서 발행된 각 이슈 별 Branch 나 Commit, Pull Request 정보 등을 손쉽게 확인 할 수 있어 형상관리에 유용해요 :) 

 

그러면 바로 Go Go ~!!!! 

1. 레파지토리 Fork 하기

1) 작업할 소스가 있는 Bitbucket 내 원격 저장소로 이동!!

   ( 제 프로젝트  소스 제목은 "test"  입니다 )

2) 아래와 같은 화면에서 오른쪽 상단에 있는 "  · · ·  (점 세개 버튼)" 클릭 

3) "Fork this Repository" 클릭

4) 새 탭에 아래와 같은 화면이 나오면, "Project" 명을 새로 입력해 주거나, 기존 관리하고 있던 프로젝트 명 선택

5) 오른쪽 하단에 있는 "Fork Repository" 버튼 클릭

6) Fork된 레파지토리 확인

2. Fork 된 소스 로컬에 내려받기 (feat. Sourcetree)

1) 방금 Fork된 레파지토리 클릭

2) 우측상단에 'Clone' 버튼 클릭 후, 팝업이 뜨면 'HTTPS' 으로 선택 되어 있는지 확인

     팝업 왼쪽 하단에 있는 'Clone in Sourcetree' 클릭

3)'Sourcetree 열기' 클릭 

4) ('브랜치 체크아웃'을 dev로 맞춘 후) 목적지 경로를 자신의 프로젝트 소스가 위치할 로컬 경로로 설정

    오른쪽 하단에 있는 '클론' 버튼 클릭

 

3. 브랜치 생성하기

1) Sourcetree 에서 클론된 프로젝트를 더블 클릭하여 선택

2) 좌측 메뉴에서 내려 받은 'dev' 브랜치를 선택 한 후, 상단에 있는 '브랜치' 버튼을 클릭 

 

3) 'Jira' 에 등록된 이슈 번호를 Sourcetree의 '새 브랜치'에 입력 후, '브랜치 생성' 클릭

4. 'Commmit'& 'Push' 하기 

1) 새로 생성된 브랜치에서 작업을 마친 후, Commit 실행 !! Commit시, 메시지 입력 란에  'Jira' 의 이슈번호를 입력

(아래 그림은 'Intellij IDEA' 에서 작업 한 내용이에요~)

5. 'Pull Request' 생성하기 

1) Sourcetree 에서 해당 작업 브랜치에서 오른쪽 마우스 클릭

2) 'Pull 요청 생성...' 을 클릭

 

3) 'Create pull request' 클릭 ( 원래는 이 부분에서 'Reviewers' 를 등록해야 하나........ 최근 Bitbucket 에서는 해당 부분에서 바로 리뷰어(Reviewes) 를 찾을 수 없는 관계로 바로 'Create pull request'를  클릭 해줍니다..!! ) 

2) 우측 패널 중 'Add reviewer' 를 클릭하여, 리뷰어(Reviewes)를 선택 

.

.

.

.

.

드디어... 작업 완료!!!!!

 

3) 우측 패널의 하단을 보면, 방금 PR(Pull Request)을 날린 내용이 'Jira' 이슈 티켓과 연동 되었음을 확인 할 수 있습니다.....!!!

비트버킷(Bitbucket)에서 확인한 모습

 

 

※ 참고로, PR(Pull Request)을 요청 한 후,  싱크('sync') 를 맞춰 달라고 하는게 보이면, 그때마다 'sync' 를 눌러 소스 싱크를 맞춰주면 됩니다.  

 

싱크를 맞추는 방법은 아래 1) 또는 2) 를 선택 할 수 있어요. 

싱크 맞추는 방법

1) 오리지널 dev -> 내가 만든 브랜치   ( 한방에 싱크를 맞출 수 있어요~ )

2)

(1) 오리지널 dev -> 내가 fork한 dev

(2) 내가 fork한 dev -> 내가 만든 브랜치

 

여기까지 비트버킷(Bitbucket) 으로 레파지토리 Fork 부터, PR(Pull Request) 까지 하는 방법에 대해 알아보았습니다~~~!!

 

참 쉽죠잉?!?!?!?!