git을 알아가는게 생각보다 재밋다!!
단순히 커밋하는게 아닌 그 내용과 원리를 아니까 더 쉽게 느껴지네 ㅎㅎ
오늘은 깃의 핵심인 Branch 와 Branch Pointer 에 대해 적어보려고 한다!!
이제부터는 공부하고 바로 적자!! => 맨날까먹네..
Branch 개념을 위한 시나리오 ) 블로그를 만들어보자!
그리고!! 갑자기 id 중복 체크를 위한 내용을 따로 만들어서 합치고 싶을때 우리는 브런치를 하나 새로 만든다!
위 그림처럼 우리는 메인과 ideaBranch를 합치고 싶다 -> 이때 Merge를 하게 된다!
merge는 크게 두 부분으로 나뉘는데 이건 매우 단순하게 나뉜다
이렇게 브런치를 나눈 순간 이후에 Main에 추가로 commit을 한 뒤 합칠때 3-way merge를 사용한다!
저 상황이 아닌 단순히 브런치를 나눈뒤 다시 합치고 싶다면 fast forward merger라는 효과적인 방법을 사용할 수가 있다!
위에서 실제로 브런치를 만들었지만 사실 그냥 브런치 포인터를 하나 만들어서 아래처럼 움직인것과 같다!
이렇게 한뒤 로그인에 있는 Main Branch Pointer랑
아이디 중복체크에 있는 topic Branch Pointer를 합치고 싶다면 fast-forward merge를 사용하면 됨!
3-way merge를 사용하는 경우!
형상이 분리되었을때!! -> 즉 main에서 커밋 했을때!
일단 위처럼 만든뒤 git branch topic이라는 명령어를 쳐서 branch pointer를 만든다!
git branch 하면 현재 branch pointer를 알 수 있다!
이제 우리가 만든 topic으로 포인터를 바꾸는 git checkout topic을 명령어로 친다
그리고 git add 와 git commit을 하게 되면
mainPointer는 가만히 있고 topic branch Pointer만 이동한다!!!
이 후 Main과 Topic을 합치고 싶다면 fast-forward merge를 하면 됨!