지옥에서 온 Git 수업 파트 3

박경현·2023년 5월 9일
0

git을 알아가는게 생각보다 재밋다!!

단순히 커밋하는게 아닌 그 내용과 원리를 아니까 더 쉽게 느껴지네 ㅎㅎ

오늘은 깃의 핵심인 Branch 와 Branch Pointer 에 대해 적어보려고 한다!!

이제부터는 공부하고 바로 적자!! => 맨날까먹네..

시나리오를 통해 Branch의 개념을 알아보자!

Branch 개념을 위한 시나리오 ) 블로그를 만들어보자!

  1. 회원가입 기능을 만들고 -> commit
  2. 로그인 기능을 만들고 -> commit

그리고!! 갑자기 id 중복 체크를 위한 내용을 따로 만들어서 합치고 싶을때 우리는 브런치를 하나 새로 만든다!

위 그림처럼 우리는 메인과 ideaBranch를 합치고 싶다 -> 이때 Merge를 하게 된다!

Fast-forward merge VS 3-way merge

merge는 크게 두 부분으로 나뉘는데 이건 매우 단순하게 나뉜다

이렇게 브런치를 나눈 순간 이후에 Main에 추가로 commit을 한 뒤 합칠때 3-way merge를 사용한다!

저 상황이 아닌 단순히 브런치를 나눈뒤 다시 합치고 싶다면 fast forward merger라는 효과적인 방법을 사용할 수가 있다!

Branch Pointer-> 이게 제일 중요! 결국 포인터에 따라 간다

위에서 실제로 브런치를 만들었지만 사실 그냥 브런치 포인터를 하나 만들어서 아래처럼 움직인것과 같다!
이렇게 한뒤 로그인에 있는 Main Branch Pointer랑
아이디 중복체크에 있는 topic Branch Pointer를 합치고 싶다면 fast-forward merge를 사용하면 됨!

3-way merge를 사용하는 경우!
형상이 분리되었을때!! -> 즉 main에서 커밋 했을때!

fast-forward merge 실습!

일단 위처럼 만든뒤 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를 하면 됨!

  1. git checkout main -> 즉 좀더 덜 앞으로 간(?) 포인터로 바꾸기
  2. git merge topic -> 더 앞으로 간(?) 포인터로 합병 요청!
  3. 이러면 끝!

profile
SW로 문제를 해결하려는 열정만 있는 대학생

0개의 댓글