Git - 여러 branch 활용하기(1)

Chooooo·2022년 9월 20일
0

Git

목록 보기
4/15
post-thumbnail

인프런 - 제대로 파는 Git & Github - by 얄코


이전 시간까지 여러 개의 버전을 만들고 해당 버전들을 과거 시점의 커밋으로 되돌아 가는 방법을 CLI 그리고 GUI로 연습하였다.

Branch

Branch(분기된 가지) - 강의에서는 "다른 차원"이라고 표현

  • 프로젝트를 하나 이상의 모습으로 관리해야 할 때
    • 실배포용, 테스트서버용, 새로운 시도용
  • 여러 작업들이 각각 독립되어 진행될 때 (현업에서!)
    • 신기능1, 신기능2, 코드개선, 긴급 수정...
    • 각각의 branch에서 작업한 뒤 확정된 것을 메인branch로 통합

Git의 Branch를 사용하면 이런 작업을 프로젝트 폴더를 따로 복사할 필요 없이 한 곳에서 모두 진행할 수 있게 해준다!

브랜치 생성 / 이동 / 삭제하기

add-coach란 이름의 브랜치 생성
현재 브랜치의 커밋 위치에서 새로운 브랜치가 생성되는거야!😃😃
🎈 git branch add-coach

  • 해당 명령어를 입력해도 아무 일도 일어나지 않아. 아직 브랜치를 옮기지 않았기 때문. (브랜치 생성만 한거야) → 우측에 아직 main으로 표시됨

브랜치 목록 확인
🎈 git branch

  • 해당 명령어로 브랜치 목록이 뜨고, 현재 브랜치는 *표시로 표시 돼

add-coach 브랜치로 이동
🎈 git switch add-coach : Switched to branch 'add-coach' 해당 명령어 뜨면서 브랜치 옮겨진 것을 확인 가능.

  • 해당 명령어를 통해 브랜치가 옮겨진다.

소스트리로 확인해보면 아직 가지가 갈라지지 않았어! 왜냐하면 한쪽 가지 끝에서 main이랑 add-coach가 싹만 틔운거고 갈라지지 않았음. 둘 다 같은 버전에 위치하고 있기 때문.
(예전에는 git checkout명령어로 했지만 최신 깃은 switch, restore로 분리 되었기에 switch를 사용하자)

💡 브랜치 생성과 동시에 이동하기

🎈 git switch -c new-teams
new-teams라는 브랜치를 생성하고 동시에 브랜치 이동도 진행해!

🗑 브랜치 삭제하기

🎈 git branch -d 삭제할 브랜치명
지울 브랜치에 다른 브랜치로 적용되지 않은 내용의 커밋이 있을 시에는 -D 옵션으로 강제 삭제를 진행한다 git branch -D 브랜치명

✏️ 브랜치 이름 바꾸기

🎈 git branch -m 기존 브랜치명 새 브랜치명


각각의 브랜치에서 서로 다른 작업해보기

main브랜치에서의 작업

  • Leopards의 members에 Olivia 추가
  • 커밋 메시지: Add Olivia to Leopards
  • Panthers의 members에 Freddie 추가
  • 커밋 메시지: Add Freddie to Panthers

⭐️ add-coach 브랜치로 이동하여 해당 코드들 확인

add-coach브랜치에서의 작업

Tigers의 매니저 정보 아래 coach: Grace 추가

  • 커밋 메시지: Add Coach Grace to Tigers
    Leopards의 매니저 정보 아래 coach: Oscar 추가
  • 커밋 메시지: Add Coach Oscar to Leopards
    Panthers의 매니저 정보 아래 coach: Teddy 추가
  • 커밋 메시지: Add Coach Teddy to Panthers

new-teams 브랜치에서의 작업

pumas.yaml 추가
코드 아무렇게..
커밋 메시지: Add team Pumas

jaguars.yaml
코드 아무렇게...
커밋 메시지: Add team Jaguars


결과 살펴보기

git log : 현재 위치한 브랜치에서의 내역만 볼 수 있어 (현재 브랜치에서의 커밋 내역들)

여러 브랜치의 내역 편리하게 보기

터미널(CLI)에서도 모든 브랜치의 커밋 내역들을 좀 더 그래픽하게 보고 싶다면
git log --all --decorate --ineline --graph 명령어를 통해 그래픽하게 볼 수 있어!
→ 줄기 형식으로 볼 수 있어. 어떻게 가지들이 분기했는지를 텍스트로 나타내준다.
하지만 이런 그래픽을 보기 좋게 보려면 소스트리로 보는게 효율적이야!! (실무에서도)

소스트리로 볼 때 그리고 CLI로 git log로 해당 브랜치에서 입력한다면.. 해당 브랜치의 커밋 내역만 보여줘 !! 그렇기에 소스트리로 보면 전체 흐름을 파악하기 쉬워

프로젝트는 한 폴더안에 있지만, 브랜치를 어디로 switch 하느냐에 따라서 그 안의 내용들이 바뀌고 있는 것이다.

profile
back-end, 지속 성장 가능한 개발자를 향하여

0개의 댓글