생활코딩 지옥에서 온 Git - 원리 : 3 way merge > Git

Git

분산버전관리 시스템 깃(Git) 강좌 공유

생활코딩 | 지옥에서 온 Git - 원리 : 3 way merge

본문

※ 영상을 선명하게 보기 안내
  1. 유튜브 영상에서 오른쪽하단에 톱니바퀴를 클릭합니다.
  2. 팝업목록에서 "품질" 선택하세요.
  3. 원하는 해상도를 선택해주세요.
※ 모바일에서 Wifi가 아니라면 데이타가 소진될 수 있으니 주의바랍니다.
생활코딩님의 Git강의 청각장애인을 위한 자막
15610164847859.jpg

 



자 이번 시간에는 기세 내부적인 동자 이라기 보다는 우리가 머징 을 할
때 사용하는 기법이 쓰리웨이 뭐지 라는 것을 사용합니다 우리도 쓰고 뒤
또 사용합니다 기술 언제 쓰겠어요
여러분이 뭐 칠을 하게 되면 자동으로 파일을 병합해 준단 말이에요
그 때 사용되는 병합 기법이 쓰리웨이 뭐지 라는 겁니다
예 그래서 이 3a 뭐지 라는 것을 볼 거고 쓰레 이 뭐지 라는 방식과
2 2a 뭐지 라는 것의 차이점을 통해서 쓰레 이 뭐 지가 얼마나 뛰어난
것인지도
같이 한번 살펴보는 시간을 가질 겁니다 이거는
음 꼭 몰라도 여러분들이 이제 키스 사용하는데 큰 차이는 없지만 일단은
재미 있더라구요 저도 공부를 좀 해봤더니
글이 있고 어떠한 충돌의 상황들이 있을 수 있는지를 여러분들이 알고
있으면 상황을 좀 더 풍부하게 이해하는 데 도움이 될 거라고 생각이
됩니다
자 우선
이런 코드가 있었습니다 a d 라고 하는 사행 으로 이루어져 있는 코드가
있었다 고쳐 봐요
예 자 그리고 저는

또는
현재의 브랜치 라고 생각하셔도 됩니다
그리고 여기에 있는 e2 또 다른 브랜치를 그 체크아웃 했는데 그
브랜치에 이름은
앗뜨거 뭐 갈게요
예 여러분 요건은 으
브랜치 를 만들어서 경합을 하는 상황에서도 적용되는 얘기고
아직 배우지 않았지만 원격조작 장소와
지역 저장조 를 명 합하는 경우 여러 사람이 협업을 하는 경우에도 적용할
수 있는 얘기입니다
암튼 이런식으로 되어 있구요 저는 여기 있는 a 라는 부분을 그냥 뒀어요
근데 다른 사람은 이 똑같은 파일에 대해서 a 를 지워버렸습니다
그리고 저는 b 라는 내용을 레버로 덮고 다른 다른 사람도 b 라는
코드를 내 버릇 없구요
그리고 저는 씨 대신 의 실에 치우고 노을 alo 일로 바꿨습니다
다른 사람은 이 로 바꿨어요 그리고 저는 d 를 지웠는데
다른 사람은 딜을 그냥 내버려 뒀습니다
자 이런 상황 이라고 한다면
저어 다른 사람은 바로 여기 있는 이 코드를 공통으로 같죠 이런 코드
우리가 뭐라구요
페이스 라고 부른다 고 했죠
자 그러면 여기 있는 제가 또는 현재의 브랜치가
여기 있는 다른 사람을 또는
아더 라고 하는 브랜치를
미 이유로 뭐지 하려고 하면 영화 파력 5 하면 이 어떻게 자동으로
병합을 시도하는 지를 살펴 보자 는 것
요거는 저만 밝혔고 요건은 다른 사람만 바뀌었고
요건은 모두가 갖고 요건은
모두가 다르고 요건은
저만 다른 케이스 하고 생각할 수가 있겠죠
자 그러면 여기에서
우리가 뭐지 방법이 크게 두가지 방법이 있거든요
자 뭐가 있냐면
2a
뭐 지가 있구요
쓰리 웨이 뭐 지가 있습니다
타투에 이 뭐지 와 쓰리웨이 뭐지 의 차이점은 2a 뭐지 는 이 베이스를
보지 않고 이 두개의 차이점은 만 비교해서 병합을 하는 방식이에요
쓰리웨이 뭐지 는 베이스를 참고로 해서
요 두개의
대상을 영합하는 방식이 쓰리웨이 뭐지 입니다 그리고 쓰리웨이 먼지가 훨씬
더 좋아요
여러분 쓰리웨이 먼지를 쓰셔야 되고 쓰게 됩니다
예 쓰게 돼요 자 그러면 왜 쓰리웨이 뭐 지가 좋으냐 하면 자 여기 있는
베이스 부분을 제가 안보이게 한번 해보겠습니다
뭐를 안보이게 요렇게 하면
외국의 a 와 b 를 우리가 비교해서
어 자동으로 병합을 한다고 하면
여기에다가
저와 다른 사람이 코드가 같다면 같은 부분은 당연히
공통 이니까 내버려 두면 되겠죠
그리고 여기있는 요그 서로 다른 부분이 있잖아요
서로 다른 부분들은
일과 이중에 뭐가 맞는지 병합을 자동으로 하는 입장에서는 알수가 없죠
그러니까 병합을 하는 사람한테
1과 2를 참고해서 뭐가 맞는지 를 하라고 컨플릭트 를 내야 된다는
것이죠
그리고 g 도 마찬가지 요것도 한명은
내용이 없고 한 명은 내용이 있다고 치면 내용이 없는게
그 수정된 사항 인지 내용이 있는게 쓰지 수정된 사항이 지 알 수 없기
때문에 이것도 커플링 트가 납니다
이것도 마찬가지로 컨플릭트 가 나게 된다는 것이죠 자 하지만 하지만
쓰리웨이 뭐지 는 어떤 장점이 생기냐 하면 이런 장점이 생깁니다
a 와 자 이 두개가 같은데 이에 만 달라요
그 얘기는 뭐죠
저는 원래 파일을 수정하지 않은 없고 다른 사람이 수정한 거기 때문에
다른 사람이 수정하는 게
채택된 그러니까 여기는 비워 두는 게 맞습니다
자 여기는 3명이 가 총 3명의 같으니까 당연히 요건은 비가 되는
것이구요
자 이건 어때요 색다 달라요 그럼 어떻게 되요
컴플리트 가야 되죠 그리고 여기 있는 요건은
저와 원래 코드는 다르지만 원래 코드와 다른 사람의 코드는 같습니다
그 얘기는 뭐예요 원래 코드를 수정한 건져 고전은
d 를 지워 따라 는 거니까
여기에는 아무것도 표시되지 않는 게 맞는 거죠 자 그래서 2a 뭐지 는
바로 이러한

이러한 케이스가
컴플리트 가는 것이고 쓰리웨이 뭐지 는 이러한 케이스 에서만 컨플릭트 가
나고 나머지 케이스에서는 자동으로
뭐 지가 된다 라는 겁니다
그것이 바로 쓰리웨이 뭐지 가 동작하는
방법 이더라구요 저토록 요강이 를 만들기 위해서 공부를 했기 때문에 제가
없이 양이 부족한 게 있을 수 있습니다 그런게 있으면 좀 조언을
부탁드립니다
자 이렇게 해서 이제 우리가 쓰리웨이 뭐지 까지 살펴봤는데요
2 3a 뭐지 가 어떻게 동작하는지 알면
뭐랄까요 2 버전 관리 시스템이 어떻게 충돌을 해결하고 또 충돌이 나지
않는 것들은 어떻게 어떤 근거를 통해서 병합을 하는가에 대해서 이해할 수
있을 것이고 그것은 여러 가지 맥락에서 여러분이 문제 해결을 하는데
있어서
어 도움을 줄겁니다 여기까지 하겠습니다

댓글 0개

등록된 댓글이 없습니다.

본 사이트의 컨텐츠는 명시적으로 공유기능을 제공하고 있는 공개된 자료를 수집하여 게시하고 있습니다.

저작권, 강의등록, 광고, 제휴등은 "관리자에게 문의"로 메세지 주시면 확인후 답변드립니다.

Menu