독도갈매기의 개발 블로그

[GIT] Git Merge 개념 -1- Fast-Forward 본문

기초 개념

[GIT] Git Merge 개념 -1- Fast-Forward

독도갈매기 2021. 10. 2. 18:00

Fast-Forward

Commit History

https://git-scm.com/book/en/v2/images/basic-branching-1.png

  • master Branch의 포인터는 C2 Commit에 있습니다.
  • 이후 우리는 login 기능에 이슈가 발생했다는 말을 들어 iss53 Branch를 생성합니다.

New Branch Point

https://git-scm.com/book/en/v2/images/basic-branching-2.png

  • 이후 진행 하게 되면서 Commit 하여 C3으로 iss53 Branch가 진행된다.

new Commit C3

https://git-scm.com/book/en/v2/images/basic-branching-3.png

  • 이후 Merge 하게 된다면 단순히 master Branch의 포인터가 C3으로 옮겨가게 되면서 Fast-Forward가 발생합니다.
    → 이와 같은 상황은 아래 조건이 성립되어야만 합니다.
    1. A와 B branch가 있다.
    2. A → B를 Merge하려 한다.
    3. B가 A 이후의 Commit을 가리키고 있다. ( B의 부모 Commit이 A이다. )
    4. A는 단순히 B와 동일한 Commit을 가리키도록 이동한다.
      추가 : 단순히 포인터를 최신 커밋으로 옮기는 것을 fast-forward 방식이라고 함.

이미지 출처

Comments