본문 바로가기

기타

Git (1) - Git이란?

곧 시작될 항해 99에 앞서, 협업 간에 매일 사용하게 될 Git에 대해서 예습하고자 한다.

항해 99에서 제공하는 노션 링크에 있는 자료를 통하여 간단히 공부해보았다.

 

 

흔히들 묻는 질문인 Git이 무엇인가요?? 라는 질문에 대해서 답하고자 한다면 아래와 같이 설명할 수 있다.

Git - 소스코드의 버전 관리를 위해서 사용하는 형상관리 소프트웨어 

 

 

하지만, 실제 Git 구조는 다음과 같다.

Git 구조

이미지 출처 - 스파르타 코딩클럽

 

간단히 말하자면, 저장소(Repository)를 어디에 두고 사용하는지로 판단할 수 있다.

 

Git - 로컬 저장소(내 PC)의 소스코드를 형상관리

GitHub - 원격환경에 소스코드를 형상 관리

 

 

Git에서는 3가지 영역을 관리한다.

 

1. 현재 작업중인 폴더에 해당하는 Working Directory

2. commit할 파일의 예비저장소 Staging Area

3. 각 유저의 PC에서 관리되는 로컬 저장소(Local Repository)

 

Woking Directory에서 commit한 내용들이 로컬 저장소에 저장된다.

 

로컬 저장소의 파일을 push하면 원격 저장소(Remote Repository)에 저장할 수 있고,

원격 저장소의 파일을 pull하면 로컬 저장소로 소스를 받아올 수 있다.

 


Git으로 할 수 있는 것

 

1. 프로젝트 버전관리

이미지 출처 : 스파르타 코딩클럽

 

하나의 파일로 버전관리가 가능하고,

commit 시 현재 프로젝트의 상태가 그대로 저장되어 버전 별로 History 확인이 가능하다.

(commit 마다 변경 점에 대한 코멘트를 달아주어야 확인이 용이하다.)

 

2. 작업 단위 나누기

어떤 기능을 만들거나, 코드를 추가할 때 마다 commit을 진행하면, 에러 발생 시에 어떤 부분에 문제가

있는지 쉽게 파악이 가능하다.

 

3. 하나의 프로젝트로 협업

프로젝트를 나누어 작업하고, 하나로 합치기 용이하다.

누가, 언제, 어떤 부분을 수정했는지 한 눈에 파악할 수 있다.

이미지 출처 : 스파르타 코딩클럽

 


GitHub로 할 수 있는 것

GitHub는 Git으로 된 프로젝트 저장 공간 + 협업을 위한 여러가지 부가 기능을 제공한다.

 

1. 온라인으로 연결된 프로젝트 저장소

이미지 출처 : 스파르타 코딩클럽

 

2. 개발자들의 커뮤니티

다른 사람의 공개 프로젝트를 구경하고, 해당 프로젝트에 버그를 찾아내고, 개선점에 대해 토의하는 등 직접 기여할 수도 있다.

 

 

 


사전 준비 과정

타인과의 협업을 위해서는 Git 설치, GitHub 가입, Sourcetree 설치 등 몇 가지 작업이 필요한데, 이 과정은 생략하도록 하겠다.

 

SourceTree는 Git을 쉽게 사용하도록 도와주는 일종의 Tool이라고 보면 된다.

GitHub 가입 후에, SourceTree에 GitHub계정을 연동시켜주면 준비가 끝난다.