컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다. 또는 이러한 명령어를 가리킨다. 소프트웨어 개발에서 소스 코드 관리에 주로 사용되지만 어떠한 집합의 파일의 변경사항을 지속적으로 추적하기 위해 사용될 수 있다. 기하학적 불변 이론을 바탕으로 설계됐고, 분산 버전 관리 시스템으로서 빠른 수행 속도에 중점을 두고 있는 것이 특징이며 데이터 무결성, 분산, 비선형 워크플로를 지원한다.
깃(Git)을 사용하는 전체 개발 내역을 각 개발자의 로컬 컴퓨터로 복사할 수 있다.
나중에 서로 수정된 내역을 합치기(Merge)할 수도 있으며, 이 때 Git의 고유한 프로토콜을 이용하게 된다.
깃(Git)은 일반적인 다른 버전 관리 시스템보다 성능이 뛰어나며, 변경 이력이 많더라도 변경된 내용만 처리한다는 점에서
메모리적인 효율성이 뛰어나다.
깃(Git)은 브랜치(Branch)라는 개념이 사용된다. 다시 말해서 프로젝트의 가지치기가 가능하다는 뜻이다.
이는 트리 구조, 다시 말해서 비선형적인 구조라고 볼 수 있다.
작업된 모든 내역(Commit 내역)들은 모두 별도의 영역에서 관리되어 안전하게 프로젝트를 운영할 수 있다.
Git은 프로젝트의 무결성을 보장
Git은 오픈 소스
GitHub: git이 유명해지면서 자유 소프트웨어의 성지로 떠올랐다.
Bitbucket: Github의 비공개 프로젝트 기능이 유료였을 시절에는 "비공개 프로젝트가 필요한데 유료라 쓰기 애매하다 + 팀원이 몇 명 안된다" 같은 상황이라면 괜찮은 대안이 될 수 있었다.Confluence, JIRA 등으로 유명한 Atlassian의 서비스로 5명이하가 참여하는 프로젝트라면 비공개 프로젝트도 무료로 생성 가능하다.
GitLab - 인원수에 관계 없이 무제한으로 무료 비공개 프로젝트 생성이 가능하다.
Azure DevOps (Visual Studio Online) - 저장소를 만들 때 기존 TFS 방식과 git 중에서 선택할 수 있다.