Lined Notebook

[Git] Git fork를 이용한 Branch

by HeshAlgo

Git

 Branch란?

- 개발을 하다 보면 코드를 여러개로 복사해야 하는 일이 자주 생깁니다. 코드를 통째로 복사하고 나서 원래 코드와는 상관없이 독립적으로 개발을 진행할 수 있는데, 이렇게 독립적으로 개발하는 것이 브랜치입니다.

- Repository를 생성후 커밋하면 자동으로 master라는 브랜치가 생성된다.

 

 

 새로운 Branch 생성

Git fork를 이용해 새로운 Branch를 생성해보겠습니다.

아래와 같이 New Branch를 클릭 후 원하는 이름의 브랜치를 넣어서 생성합니다.

그러면 새로운 브랜치로 생성한 testBranch가 생겨나고 checkout이 testBranch로 체크된 모습을 보실 수 있으실 겁니다.

※) checkout : 내가 사용할 브랜치를 지정하기 위한 명령어

     HEAD : 현재 작업중인 브랜치를 가리키는 것

 

 

 

 

 Branch의 갈라짐

testBranch 브랜치로 checkout을 해놓은 뒤 README.md파일을 수정해 commit을 해보겠습니다.

그러면 testBranch는 새로운 커밋으로 인해 54c88ee를 가리키지만 master는 그대로 07470e0을 가리키는 모습을 보실 수 있습니다.

 

이제는 main으로 checkout을 한 후 commit해보겠습니다.

주의!!!! ) 충돌이 발생하지 않도록 master와 testBranch는 서로 다른 파일을 수정해주세요.

그러면 아래와 같이 master와 testBranch가 갈라진 모습을 보실 수 있습니다.

이렇게 브랜치를 하나 만들고 그 브랜치에서 작업을 하거나 원래의 브랜치로 다시 돌아와 다른 작업을 했습니다. 두 작업 내용은 독립적으로 각 브랜치에 존재하며 커밋 사이를 자유롭게 이동하다가 두 브랜치를 합치고 싶을때 Merge라는 키워드를 이용하면 됩니다.

 

 Brach의 Merge

Merge : 한 브랜치의 내용을 다른 브랜치에 합치는 것을 뜻합니다. 

브랜치와 Merge는 보통 이런 식으로 진행하게 됩니다.

1. 웹사이트가 있고 뭔가 작업을 진행하고 있다.

2. 새로운 이슈를 처리할 새 Branch를 하나 생성한다.
3. 새로 만든 Branch에서 작업을 진행한다.

이때 중요한 문제가 생겨서 그것을 해결하는 Hotfix를 먼저 만들어야 한다. 그러면 아래와 같이 할 수 있다.

1. 새로운 이슈를 처리하기 이전의 운영 브랜치로 이동한다.
2. Hotfix 브랜치를 새로 하나 생성한다.
3. 수정한 Hotfix 테스트를 마치고 운영 브랜치로 Merge 한다.
4. 다시 작업하던 브랜치로 옮겨가서 하던 일 진행한다.

testBrach를 main브랜치로 Merge 해보겠습니다.

현재 master브랜치가 testBranch의 변경사항들을 받아들이기 때문에 master브랜치를 checkout합니다.

아래와 같이 testBranch를 우클릭하게 되면 'Merge into main...'이란 목록이 존재하는데 이것을 클릭합니다.

 

그 다음 Merge를 클릭합니다.

 

그러면 아래처럼 두 브랜치가 Merge Commit이 생성된 것을 확인 할 수 있습니다.

 

 Branch의 삭제

이제 Merge된 testBranch는 필요가 없어져서 삭제를 해도 됩니다.

삭제하는 방법은 아주 간단합니다.

testBranch를 우클릭 하게 되면 Delete 'testBranch'가 나타나게 되는데 이것을 클릭하면 깔끔하게 브랜치가 삭제됩니다.

 

 

 

출처

1. Git & GitHub교육 - 신승엽 강사님 

2. https://git-scm.com

'Git' 카테고리의 다른 글

[Git] diff와 revert 사용하기  (0) 2022.09.03
[Git] Reset 명령어 사용하기  (0) 2022.08.29
[Git] Git fork를 이용한 git 기초  (0) 2022.08.27

블로그의 정보

꾸준히 공부하는 개발 노트

HeshAlgo

활동하기