본문 바로가기
SpringBoot

[Spring Boot] 19. GitHub Repository (3) - Branch & Merge

by 청양호박이 2019. 12. 22.

오늘은 GitHub의 3번째로 공동으로 작업하는 환경에서, Master가 아닌 각자 맡은 모듈에 대해서 신규로 Branch를 생성하고 그곳에 계속 Commit & Push를 하고 코드관리자가 Master에 최종 Merge하는 방법을 알아보고자 합니다. 실제로 프로젝트에 투입된 개발자가 된다면... 당황하지않고 이와같은 상황이 된다면 적용하시면 되겠습니다.

 

  • New Branch 생성 및 Commit
  • Master에서 Branch Merge

 

1. New Branch 생성 및 Commit


지난번에 STS를 통해서 진행했으니, 이번에도 STS에서 New Branch를 생성하는 방법으로 보겠습니다. 우선 프로젝트에서 마우스 오른쪽을 누르면... 여러가지 메뉴가 나오는데 그 중에서 team을 선택하고 아래와 같이 해당 메뉴를 선택합니다. 

 

New Branch... 를 선택하면, 만들고자 하는 Branch를 입력하고 Finish를 선택합니다.

이렇게 하면... 기존에 ayotest master로 되어있는 것이, 아래와 같이 ayotest developement로 변경됩니다.

하지만 이렇게만 했다고 해서, GitHub에 새로운 repository가 바로 생성되지는 않습니다. 수정사항을 하나 반영하고 Commit & Push를 수행해야 GitHub에 추가되면서 변경된게 반영됩니다.

다음과 같이 정상적으로 pull request가 devlopement 로 진행이 되었습니다. 그럼 GitHub에 요청했던 commit이름으로 반영되었는지 확인해 보겠습니다. 당연히 Master에는 해당 commit 이름으로 된 이력이 없겠죠??

다음과 같이 정상적으로 Branch가 생성되었고... commit이력을 보면...

정상적으로 1st commit이 들어왔습니다. 

당연히 master에는 해당 commit이력이 없습니다. 

 

 

 

2. Master에서 Branch Merge


그렇다면 Master에서 Development Branch에 commit된 내용을 반영하려면 어떻게 해야할까요??

Master에 merge하고자 하는 Branch에 들어갑니다. 그리고 옆에 "New pull request"를 선택하면 됩니다. 

그러면 위의 화면과 같이, base로 master branch가 있고 <- compare에 선택한 branch가 세팅이 됩니다. 그리고 충돌이 없다면 "Able to merge" 라고 나오게 되고 하단에 보면 방금 Developement에 commit한 = Master에 merge가 필요한 commit 항목 이 뜹니다.

 

그리고 하단에 Create pull request를 누르면,

최종적으로 Merge 여부를 묻고 Confirm버튼을 한번 더 누르면 끝나게 됩니다. 사실 신규로 Branch를 따로 Master에 Merge하게 되면 신규 Branch에 대한 사용목적이 상실되게 될 수 있습니다. 이를 보통 hotfix branch라고 부르는데... 친절하게 GitHub에서는 해당 branch를 지울거냐고 친절히 물어봅니다. 

 

저는 앞으로 진행하면서 Developement용도로 사용할 것이기 때문에... 그냥 유지하겠습니다.

그렇다면 Master에 해당 내용이 잘 들어갔는지 확인해보겠습니다. 다시 master branch로 들어가서 확인해보면...

마지막에 한 1st commit이 잘 들어왔네요~!! 그럼 실제 프로젝트에서도 당황하지 말고 GitHub를 통한 공동 작업을 즐겨보시기 바라겠습니다.

 

-Ayotera Lab-

댓글