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
그 다음 Panthers의 member에 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)에 대해 알아보았습니다.
다음 시간엔 merge와 rebase에 대해 알아보겠습니다.
참고
'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 |