[GIT] git graph

KJA·2022년 8월 18일
0

git graph에는 크게 두가지 요소가 존재한다. 바로 이다. 점은 commit을 나타내고, 선은 흐름을 나타낸다. 선을 따라가면 히스토리를 알 수 있고, 한 점에 집중해서 보면 해당 변경내역을 알 수 있는 구조다. 흐름은 초반에 설명한 브랜치 개념과 거의 일치한다. 한 상태에서 서로 다른 두 개의 수정이 생기면 흐름이 갈라진다. 의도적으로 갈라지는 흐름을 만든 것이 브랜치이고, 의도하지 않았지만 갈라지는 경우도 있다. 의도하지 않았지만 갈라지는 경우가 생기면 그래프가 복잡해진다.

좌측과 유사한 형태의 그래프를 자주 접했을 것이다. 이것이 바로 의도하지 않았는데 흐름이 갈라지는 경우인데, commit message에 'Merge branch...'라고 남아있는 것을 볼 수 있다.

이것은 나는 의도하지 않았지만 git이 필요에 의해 임시적으로 브랜치를 만들었고 그것을 내가 작업중이던 브랜치에 머지해주었다는 것을 의미한다.

이러한 현상이 발생하는 이유는 내가 commit 2에서 수정을 하고 있는데, 다른 사람이 commit 2에서 무언가를 수정해서 commit 4를 이미 서버에 반영(push)했기 때문이다. 이런 경우에 그래프를 우측과 같이 깔끔하게 만들어주고 싶다면, local에서 commit하기 이전에 반드시 pull을 해야 한다.

0개의 댓글