ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Ch10. Merging
    Ray Wenderlich/Mastering Git 2021. 8. 21. 16:32

    Three-way merges

    2개의 수정을 merge할 때, 각각의 수정 사항을 합치는 것을 생각해보자.

     

    이 것은 two-way merge이고, 우리가 실제로 이해하기 쉬운 방식이다.

    git은 Three-way merge를 한다.

     

    파일의 변경을 마친 상태 그대로 mere하는 것이 아닌 original 파일으로부터 수정된 사항을 merge하는 것이다.

    merge conflict가 발생하는 경우를 제외하면 git은 three-way merge를 통해 오류없이 merge해줄 것이다.

     

    Merging a branch

    git log <theirs> --not <ours>

    theirs에는 있지만 ours에는 없는 commit을 보여준다.

     

    Fast-forward merge

    original 파일을 나 말고 아무도 건드리지 않았다면 Fast-forward merge가 가능하다.

    merge commit이 생기지 않고 HEAD만 이동하게 된다.

     

    Forcing merge commits

    # fast-forward merge를 하지 않고 merge
    git merge develop --no-ff

     

    **

    Fast-forward merge가 좋냐 안좋냐

    이건 마치 킹냥이 갓댕이 누가 더 귀엽냐와 같은 논쟁이다.

    (난 무조건 갓댕이파임, 킹냥이도 귀여운데 비교불가임)

     

    정답은 없다.

    항상 merge commit을 생성한다면 branch를 만들고 merge했다는 기록이 남는다. 근데 매번 기록을 남긴다면 레포지터리의 history가 복잡해질 수 있다.

    'Ray Wenderlich > Mastering Git' 카테고리의 다른 글

    Ch12. Merge Conflicts  (0) 2021.08.23
    Ch11. How Does Git Actually Work?  (0) 2021.08.23
    Ch9. Creating a Repository  (0) 2021.08.21
    Ch8. Syncing With a Remote  (0) 2021.08.21
    Ch7. Branching  (0) 2021.08.06
Designed by Tistory.