
브랜치는 master(또는 main)으로부터 시작되고, 각 브랜치들끼리는 서로 영향을 받지 않는다.
Main의 끝 점이 브랜치의 시작점이라고 볼 수 있다.

master

New Branch를 누른 후, master에서 새로운 Branch out을 할 수 있다.
Happy-ending이라는 새 브랜치를 만든다.
Happy-ending에는 기존의 master에서 작업했던 내용들이 있고, 해피엔딩과 어울리는 내용을 써준다. 그리고 커밋해준다.

다시 master으로 가서 Sad-ending 브랜치를 만든다.
Sad-ending에도 기존의 master에서 작업했던 내용들이 있고, 새드엔딩과 어울리는 내용을 써준다.
마찬가지로 커밋해준다.

master, Happy-ending, Sad-ending 브랜치를 이동할 때 마다, vs code에서 보이는 내용이 실시간으로 달라짐을 확인할 수 있다.
master, Happing-ending과 Sad-ending을 각각 업데이트 해준다.
master

Happing-ending

Sad-ending

기준이 되는 master branch에 happy ending을 merge하고 싶을 때는 Merge into current branch를 이용한다.

시작은 master에서 한다.

가져오고 싶은 브랜치를 선택한다.

같은 줄을 수정했으면 Conflict(충돌)이 발생 할 텐데, 이때 수동으로 어떤 코드를 최종적으로 남길 것인지 선택할 수 있다.


master 코드, 혹은 Happy-ending 코드만 선택 할 것인지, 아니면 둘다 선택 할 것인지 고를 수 있다.

merge된 master 최종 내용

master를 계속 업데이트 해나감에 따라, happy나 sad 브랜치에도 master의 내용을 업데이트하고 싶을 때, Update from default branch를 이용한다.
예를 들어, Happy-ending 브랜치에 master의 내용을 업데이트 한다고 가정해보자.
기준이 되는 브랜치는 Happy-ending이다.

Current Branch를 Happy-ending으로 설정해두고, Master의 내용을 업데이트 할 때 사용한다.