지옥에서 온 Git 수업 파트 4

박경현·2023년 5월 12일
0

오늘은 3-way merge와 rebase에 대해 배우고 실습했다

해보니까 rebase를 이용하면 reset이랑 amend 기능을 사용할 수 있어서 꽤나 유용하네..

3-way merge => 각 브런치 포인트마다 더 만들어서 하나로 합쳐보자!

시나리오 ) 블로그를 만들 예정!
1. 회원가입 기능 -> 커밋
2. 로그인 기능 -> 커밋
3. 한 뒤 하나의 브런치를 만들어서 거기서 아이디 중복체크!
4. 그리고 main브런치로 돌아와서 글쓰기 커밋!!
5. 이러고 이제 합치기!!!!

그림으로 보면 이렇다

3-way merge 실습

일단 로그인 파일까지 만들고 커밋했다고 가정,

git checkout -b topic

저 명령어를 이용해서 브런치를 만듦과 동시에 포인터를 main -> topic으로 바꿨다!

그리고 topic에서 아이디중복체크를 만든 후에 commit 함!

그 후 git checkout main해서 포인터를 main으로 바꾸고, 글쓰기 파일을 만들고 커밋했다!

현재 포인터는 main이고, topic을 main으로 가져오고 싶은 것이기 때문에!!
git merge topic을 적어주면 된다!!

이때 파일 수정이 겹치는 등의 문제로 충돌이 없다면 깔끔하게 3-way merge가 된다!

만약 같은 파일을 수정하고 커밋한 뒤 합치다가 충돌되면 해결볍은?

그러면 위에서 말한 충돌 상황을 어떻게 하면 해결할 수 있을까?

일단 다시한번 더 가정해보자!

topic과 main 둘다 로그인 파일을 수정한 상태!!
그리고 두 파일을 main 브런치로 merge 할 거다!

결론부터 말하면 인간이 고쳐야한다!!!
깃은 AI가 아니기 때문에 무엇이 맞는지 모른다 , 그래서 수동으로 충돌부분 없애줘야함!

저 상황에서 엔터 치면 수정 부분을 화살표로 알려준다

그러면 아래처럼 원하는 부분만 남기고 전부 지워주면 끝!!

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

0개의 댓글