Git이 커밋(Commit)을 관리하는 방식
git은 두 명 이상의 사람이 동시에 버전 관리를 할 때에도 서로의 작업물에 의존하지 않고 내가 원할 때 코드를 올리고 수정하고 협업자의 코드와 합칠 수 있다. 즉, 병렬적으로 버전 관리를 할 수 있다.
그렇다면 어떤 원리로 작동할까? 우리는 커밋을 통해 코드의 변경사항을 하나로 덩어리로 묶을 수 있었다. 이러한 커밋들은 바로 전 커밋을 가리키며 시간순으로 쌓이게 된다.
혼자서 작업한다면 위의 그림처럼 한 줄로 계속 커밋이 쌓인다. 하지만, 협업을 통해 버전 관리를 한다면 한 줄로 커밋이 쌓일 수 없다. 커밋 3을 기준으로 두 명이서 각각 파일을 수정해 커밋을 한다고 가정하면 아래 그림과 같이 될 것이다.
이렇게 특정 기준에서 나누어 작업할 수 있는 기능을 브랜치(Branch)라고 한다. 만약 브랜치를 만들지 않고 둘 다 커밋을 하면 원격 저장소에 먼저 푸시한 커밋(커밋 4)은 정상적으로 올라가고, 뒤늦게 푸시한 다른 커밋(커밋 5)은 "너는 낡은 코드에 푸시를 하는 것이다. 최신 코드에 푸시하라"라는 오류가 난다.
'버전관리 > GUI 환경' 카테고리의 다른 글
5. 정리하기 - Git에서의 파일 관리 (0) | 2020.08.29 |
---|---|
4. 정리하기 - SVN과 Git (0) | 2020.08.29 |
3. 소스트리에 커밋하고 푸시하기 (0) | 2020.08.28 |
2. 소스트리에 로컬 저장소를 추가하기 (0) | 2020.08.28 |
1. 소스트리(Source Tree) (0) | 2020.08.28 |