Git은 소스 코드의 버전을 관리하는 툴입니다.
보통 하나의 프로그램을 개발하기 위해 프로젝트 파일을 만들게 됩니다. 그리고 기존의 프로젝트에서 점점 코드를 추가하는 방식으로 진행을 하는데요. 이 과정을 Git이 도와주게 됩니다.
이 때 개발자는 자신이 짠 코드들을 git으로 업데이트하기 위해 준비합니다. 이를 커밋(Commit)
한다고 하는데요. 이 커밋을 git에 푸시(push)
하면 최종적으로 기존의 커밋들에 쌓이면서 자연스럽게 버전이 형성됩니다. 만약 이전 코드에 문제가 생기면 빠르게 이전 버전(커밋)에서 작업이 가능합니다.
이렇게 개발자가 커밋을 쌓은 후, 다른 개발자는 마지막 커밋을 기준으로 해서 Fetch(패치)
한 후 그 위에 본인의 코드를 치게 됩니다.
여러 명의 개발자들이 하나의 프로젝트에서 코드를 치다보면 여러가지 문제가 생길 수 있습니다.
만약에 개발자 A, 개발자 B가 같은 파일, 같은 코드 라인에서 동시에 수정해서 업데이트 한다면 코드가 충돌(Conflict)
가 날 수 있겠죠. 이 때 git은 충돌을 해결할 수 있도록 도와줍니다.