예를 들어 지금 작업폴더에서 쇼핑몰 만드는 코드를 짜고 있다고 가정해봅시다.
근데? 갑자기 쿠폰 기능을 추가하고 싶은거에요!
근데? 뭔가 '기존에 있던 코드가 망가지면 어떡하지?' 라는 생각이 드는 겁니다.
그래서 원래 있던 코드를 직접 수정하는 게 아니라,
프로젝트 사본을 만들어서 거기다가 먼저 개발해보고 싶은 겁니다.
기존에 하던대로 그냥 커밋만 했을 때

브랜치를 이용하면?

git branch 브랜치이름
이러면 브랜치이름 을 가진 브랜치가 생성됩니다.
git switch 브랜치이름
이러면 브랜치이름 으로 브랜치가 이동합니다.
새로운 브랜치로 넘어와서 코드를 다 지우던, 뭘 하던간에 다시 메인 브랜치로 넘어오면 작업했던 내용이 싹 복구됨!
새로운 브랜치에서 작업한 결과물이 마음에 든다! 잘 작동한다!
그러면 원본 코드가 있는 메인 브랜치에 합치면 됩니다.

git switch main
git merge 브랜치이름
git merge 브랜치명 입력하면 합쳐집니다.merge를 했을 때의 결과는... 2가지 엔딩이 있습니다.
해피엔딩
아무 문제 없이 merge 성공 👍
배드엔딩
conflict 발생 👎
각각의 브랜치에서 같은 파일, 같은 줄을 수정했을 때
즉, 같은 파일인데 왜 너넨 달라? 하면서 git이 conflict, 충돌이 발생시킵니다.
이럴 때는 메인 브랜치와 새로운 브랜치에서 각각 어떤 부분이 다른지 직접 확인하고 사람이 결정해 줘야 합니다.

이후에 add, commit 진행하면 끗!
강의 출처