-> 이 모든 것을 하나의 프로젝트 폴더에서 진행될 수 있도록!
지울 브랜치에 다른 브랜치로 적용되지 않는 내용의 커밋이 있을 시에는 -D(대문자) 옵션으로 강제 삭제 함
-> git branch -D(브랜치명)
add-coach branch
위 커밋 과정 진행 시
new-teams branch
각각의 브랜치로 switch한 이후 git log 출력해보면
-> main의 경우 replace 이후 add olivia, add freddie 브랜치만 출력됨
-> git log는 위치한 브랜치에서의 내역만 볼 수 있음
여러 브랜치의 내역 보기
-> git log --all --decorate --oneline --graph
어떻게 브랜치가 분기되어있는지 볼 수 있음
프로젝트의 메인 줄기는 main branch 에서 진행되고 add-coach, new-teams branch에서 다른 실험적인 시도를 하고 있는 것!
이러한 시도들이 채택되어 메인 브랜치로 가져올려 함
merge
: 두 브랜치를 한 커밋에 이어붙임
-> 두개의 가지를 이어 붙이는 과정에서 새로운 커밋이 생김
-> 새로 생기는 커밋에는 원래 브랜치와 병합될 브랜치의 모든 변화들이 다 담김
rebase
: 브랜치를 다른 브랜치에 이어붙임브랜치의 마디, 커밋들을 대상 브랜치로 옮겨 붙이는 것!
merge를 하는 거나 rebase를 하는거나 결과물은 같음
-> 변경 사항들이 다 끄트머리에 모이는 느낌
-> rebase
이후 히스토리는 깔끔하게 한줄로 모이는 반면 merge
는 브랜치의 흔적을 남김
-> 브랜치의 사용 내역을 남겨둘 필요가 있다면 merge, 히스토리를 깔끔하게 만드는게 중요하다면 rebase 사용
git branch -d add-coach 이후
git rebase main 이후
main을 new-teams 까지의 위치로 옮겨 주지 않으면 new-teams branch에서 수정했던 작업들이 반영되지 않음
git switch main
git merge new-teams
git branch -d new-teams