5.Git 브랜치 만들기

2023. 2. 12. 22:43Git

명령어모음

git branch 브랜치명 (브렌치 생성)

ex) git branch add-coach

git switch 브랜치명 (브렌치로 이동)

ex) git switch add-coach

 

git switch -c 브렌치명 (브렌치 생성후 이동) 

    (기존의 git checkout -b (새 브랜치명))

ex) git switch -c new-teams 

git branch -d 브렌치명 (브렌치삭제)

ex) git branch -d to-erase

git branch -m (기존 브랜치명) (새 브랜치명) (브렌치 명 수정) 

ex)git branch -m to-delete to-erase

 

 

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

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

 

 

Branch: 분기된 가지 (다른 차원)

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

 

이 모든 것을 하나의 프로젝트 폴더에서 진행할 수 있도록!

 

 

add-coach란 이름의 브랜치 생성

git branch add-coach

브랜치 목록 확인

git branch

================================================

  add-coach
* main

=================================================

add-coach 브랜치로 이동

git switch add-coach

=================================================

Switched to branch 'add-coach'

=================================================

  • checkout 명령어가 Git 2.23 버전부터 switch, restore로 분리

 

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

git switch -c new-teams
=================================================
Switched to a new branch 'new-teams'
=================================================
  • 기존의 git checkout -b (새 브랜치명)

브렌치 확인

$ git branch

=================================================
  add-coach
  main
* new-teams

=================================================

 

🗑 브랜치 삭제하기

git branch -d (삭제할 브랜치명)
  • to-delete란 브랜치 만들고 삭제해보기
  • 기존의 git checkout -b (새 브랜치명)

 

지워질 브랜치에만 있는 내용의 커밋이 있을 경우
즉 다른 브랜치로 가져오지 않은 내용이 있는 브랜치를 지울 때는
-d 대신 -D(대문자)로 강제 삭제해야 합니다.

git branch -D (강제삭제할 브랜치명)

 

✏️ 브랜치 이름 바꾸기

git branch -m (기존 브랜치명) (새 브랜치명)
 
 
 
 
다음강의 실습을 위한 작업

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

A. main 브랜치

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

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

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



B. add-coach 브랜치

 실습 전 주의사항!

실습시 줄바꿈 등의 세부사항도 영상과 똑같이 해주세요!
예) coach와 manager 사이에 한 줄 공백이 있는 것
이후의 실습에서 영상과의 사소한 차이로 충돌이 발생할 수 있습니다.

  1. Tigers의 매니저 정보 아래 coach: Grace 추가
    • 커밋 메시지: Add Coach Grace to Tigers

  1. Leopards의 매니저 정보 아래 coach: Oscar 추가
    • 커밋 메시지: Add Coach Oscar to Leopards

  1. Panthers의 매니저 정보 아래 coach: Teddy 추가
    • 커밋 메시지: Add Coach Teddy to Panthers


C. new-teams 브랜치

  1. pumas.yaml 추가
    • 커밋 메시지: Add team Pumas
team: Pumas
manager: Jude
members:
- Ezra
- Carter
- Finn

  1. jaguars.yaml
    • 커밋 메시지: Add team Jaguars
team: Jaguars
manager: Stanley
members:
- Caleb
- Harvey
- Myles



3. 결과 살펴보기

git log: 위치한 브랜치에서의 내역만 볼 수 있음


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

git log --all --decorate --oneline --graph
=========================================================
 
* adf4728 (HEAD -> new-teams) Add team Jaguars
* a8ede2e Add team Pumas
| * 314e963 (add-coach) Add Coach Teddy to Panthers
| * fe4ed6b Add Coach Oscar to Leopards
| * 6a1cab7 Add Coach Grace to Tigers
|/
| * fabf0d3 (main) Add Freddie to Panthers
| * 9dea315 Add Olivia to Leopards
|/
* 6737dd6 Replace Cheetas with Panthers
* 1906aff Add team Cheetas
============================================================


소스트리에서 확인