브랜치(branch)

1. 브랜치(branch)

이번엔 브랜치(branch)에 대해서 알아봅시다!

브랜치란? 코드의 분리된 작업 흐름을 나타내는 것입니다.

각 브랜치프로젝트의 기능 or 수정담당하는 독립적인 코드 세트입니다.

브랜치를 사용하면, 여러 작업을 동시에 수행하거나 특정 기능을 개발하면서도 기존 코드를 안전하게 유지할 수 있습니다.

 


2. 브랜치 추가

브랜치를 추가해봅시다.

VSCode에 다음과 같이 입력하여, 브랜치를 추가해줍니다.

git branch add-coach

 

터미널에 git branch라고 입력해봅시다.

    → add-coach가 추가 되었고 main이 현재 브랜치임을 확인할 수 있습니다. 

 

다음과 같이 입력하여, 브랜치를 변경해봅시다.

git switch add-coach

 

 

그 다음 다시 git branch를 입력하면, 브랜치가 변경되었음을 알 수 있습니다.

 

다시 main으로 돌아온 후, 다음과 같이 입력하여, 브랜치 생성과 동시에 이동해봅시다.

git switch -c new-teams

 

그러면 생성과 동시에, 이동했음을 알 수 있습니다.

 


3. 브랜치 삭제

이번엔 브랜치를 삭제해봅시다.

지울 브랜치에 다른 브랜치로 적용되지 않은 내용의 커밋이 있을 시, -D 옵션으로 강제 삭제합니다.

일단 다음과 같이 입력하여, 브랜치를 추가합니다.

git branch to-delete

 

그 후, 다음과 같이 입력하여 브랜치를 삭제해줍니다.

git branch -d to-delete

 

그러면 정상적으로 삭제된 것을 확인할 수 있습니다.

 


4. 브랜치명 변경

이번엔 브랜치명을 변경해봅시다!

git branch aaa를 입력하여 브랜치 생성 후, 다음과 같이 입력하여 브랜치명을 변경해줍니다.

git branch -m aaa bbb

 

그러면 aaa 브랜치가 bbb로 바뀐 것을 확인할 수 있습니다.

 


5. 각각 다른 브랜치에서 작업하기

이번엔 각각의 브랜치에서 서로 다른 작업을 진행해봅시다!

main 브랜치로 변경하고 Bears의 member에 Cho를 추가한 뒤, 다음과 같은 메시지로 커밋해줍니다.

Add Cho to Bears

 

 

그 다음 Panthersmember Ryu를 추가한 뒤, 다음과 같은 메시지로 커밋해줍니다.

Add Ryu to Panthers

 

이제 add-coach 브랜치로 변경하고 Tigers의 매니저 정보 아래 다음과 같이 입력하고, 커밋 메시지도 다음과 같이 입력해줍니다.

tigers.yaml

coach: Yang

 

Commit Message

Add Coach Yang to Tigers

 

그 다음 Bears에도 coach: Park이라고 입력한 후, 다음과 같은 메시지로 커밋해줍니다.

Add Coach Park to Bears

 

마지막으로 Panthers에도 coach: Nam이라고 입력한 후, 다음과 같은 메시지로 커밋해줍니다.

Add Coach Nam to Panthers

 

 

이제 다시 브랜치를 main으로 바꾸면, 전에 입력한 coach가 사라진 것을 확인할 수 있습니다.

이번엔 브랜치를 new-teams로 변경 후, pumas.yaml 파일을 추가한 후, 다음과 같이 입력해줍니다. 그 후, 다음과 같은 메시지로 커밋해줍니다.

pumas.yaml

team: Pumas

manager: Choi

member:
  - Jeon
  - Park
  - Ma

 

Commit Message

Add team Pumas

 

 

jaguars.yaml 파일을 추가한 후, 다음과 같이 입력하고 다음과 같은 메시지로 커밋해줍니다.

jaguars.yaml

team: Jaguars

manager: Nam

member:
  - Lee
  - Kang
  - Choi

 

Commit Message

Add team Jaguars

 

이렇게 하고, 브랜치를 옮기면서 git log를 살펴보면, 커밋 메시지가 각자 다 다르다는 것을 확인할 수 있습니다.

    ※ SourceTree로 살펴보면, 더욱 보기 편하게 브랜치가 나뉜 것을 확인할 수 있습니다.

 

터미널에 다음과 같이 입력하면, 브랜치에 따라 더욱 자세히 확인할 수 있습니다.

git log --all --decorate --oneline --graph

 


6. 정리하며

지금까지 브랜치(branch)에 대해 알아보았습니다.

다음 시간엔 mergerebase에 대해 알아보겠습니다.

 

merge와 rebase

merge와 rebase 1. merge 브랜치를 병합하는 merge에 대해 알아봅시다! merge란? 서로 다른 브랜치의 변경 사항을 하나로 통합하는 과정을 의미합니다. 다양한 브랜치에서 개발한 내용을 메인 브랜치로

newbean-j.tistory.com

 

참고

얄팍한 코딩사전 님의 유튜브 강의

'Back-End Study > Git & GitHub' 카테고리의 다른 글

브랜치 간 충돌  (1) 2024.02.06
merge와 rebase  (0) 2024.02.05
reset과 revert  (0) 2024.02.02
add와 commit  (0) 2024.02.02
.gitignore  (0) 2024.01.31