GIT의 정의

컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다. 또는 이러한 명령어를 가리킨다. 소프트웨어 개발에서 소스 코드 관리에 주로 사용되지만 어떠한 집합의 파일의 변경사항을 지속적으로 추적하기 위해 사용될 수 있다. 기하학적 불변 이론을 바탕으로 설계됐고, 분산 버전 관리 시스템으로서 빠른 수행 속도에 중점을 두고 있는 것이 특징이며 데이터 무결성, 분산, 비선형 워크플로를 지원한다.

GIT의 장점

분산적인 개발

깃(Git)을 사용하는 전체 개발 내역을 각 개발자의 로컬 컴퓨터로 복사할 수 있다.
나중에 서로 수정된 내역을 합치기(Merge)할 수도 있으며, 이 때 Git의 고유한 프로토콜을 이용하게 된다.

효율적인 개발

깃(Git)은 일반적인 다른 버전 관리 시스템보다 성능이 뛰어나며, 변경 이력이 많더라도 변경된 내용만 처리한다는 점에서
메모리적인 효율성이 뛰어나다.

비선형적인 개발

깃(Git)은 브랜치(Branch)라는 개념이 사용된다. 다시 말해서 프로젝트의 가지치기가 가능하다는 뜻이다.
이는 트리 구조, 다시 말해서 비선형적인 구조라고 볼 수 있다.

변경 이력 보장

작업된 모든 내역(Commit 내역)들은 모두 별도의 영역에서 관리되어 안전하게 프로젝트를 운영할 수 있다.

데이터 보장

Git은 프로젝트의 무결성을 보장

오픈 소스

Git은 오픈 소스

GIT의 단점

기존 형상관리 도구에 비해 덜 직관적이고 배우기 어렵다.

한 번에 여러 브랜치나 여러 태그에 걸쳐서 커밋을 할 수 없다.

하나의 저장소가 하나의 프로젝트 전체를 의미하는 것으로 강제되어 있어 일부만 브랜칭을 한다든지 클론을 한다든지 하는 일을 할 수 없다.

push를 했다 해서 커밋 히스토리가 영원히 안전하게 저장된다고 장담할 수 없다.

주요 기본 명령어

서비스식 Git 저장소

GitHub: git이 유명해지면서 자유 소프트웨어의 성지로 떠올랐다.
Bitbucket: Github의 비공개 프로젝트 기능이 유료였을 시절에는 "비공개 프로젝트가 필요한데 유료라 쓰기 애매하다 + 팀원이 몇 명 안된다" 같은 상황이라면 괜찮은 대안이 될 수 있었다.Confluence, JIRA 등으로 유명한 Atlassian의 서비스로 5명이하가 참여하는 프로젝트라면 비공개 프로젝트도 무료로 생성 가능하다.
GitLab - 인원수에 관계 없이 무제한으로 무료 비공개 프로젝트 생성이 가능하다.
Azure DevOps (Visual Studio Online) - 저장소를 만들 때 기존 TFS 방식과 git 중에서 선택할 수 있다.

profile
문과생 데이터사이언티스트되기 프로젝트

0개의 댓글