2 분 소요

Git과 Git Hub에 대하여 내용을 서술해 놓았다.
주로 필자가 Git에 대한 공부를 처음 시작하였을때 햇갈리거나 궁굼했던 점들을 조사하여 정리하여 포스팅하였다.
Git을 처음 공부하는 사람들에게 도움이 되길 바란다.

Step 1 - Git 이란?



나뭇가지 아이콘 나뭇가지 이미지

Git이란 버전 관리 시스템(VCS)중 분산형의 일종이다
협업을 할때 많이 사용하며 이를 위한 다양한 기능이 제공된다.

보통 VCS 를 설명할때 이미지와 같은 나무가지 아이콘을 많이 사용하는데.
이는 VCS의 유연한 버전 관리및 확장에 관한 표현에 적절하기 때문이다.
이유는 후술하는 내용을 읽어보면 이해가 될것이다.


1. 분산형 버전 관리 시스템

나뭇가지처럼 원하는 시점마다 분기점인 스냅샷을 만들어두고 저장해둔
분기점으로 건너가 작업할수 있다.

이로써 원하는 분기점에서 원하는데로 뻗어나갈 수 있고
각각 원하는데로 병합 삭제 대체등 유연한 작업을 할 수 있다.

또한 서버에서 파일 전체를 다운받아 서버에 접속하지 않은 상태에서도
코드 작업을 할 수 있는 것이 분산형의 특징이다.

2. 사용 이유

버전 관리 시스템의 사용이유와
버전 관리 시스템 그중 Git의 유형인 분산형 버전 관리 시스템의 장점을 아래 적어두었다.

1. 버전관리 시스템의 사용이유

  • 무언가 잘못되었을 때 복구를 돕기 위하여
  • 프로젝트 진행 중 과거로 돌아갈 수 있게 하기 위하여
  • 여러사람의 작업이 동기화하는 과정을 자동화하고 안전하게 진행하기 위하여
  • 소스 코드의 누가 어떤 사항을 어떤 이유로 변경 했는지 추적하기 위하여
  • 프로젝트에 영향을 최소화 하면서 새로운 부분을 개발하고 편리하게 합치기 위하여

2. 분산형 버전 관리 시스템의 장점

  • 오프라인에서도 작업이 가능하다
  • 로컬에서 작업이 이루어져 작업속도가 빠르다
  • 언제 어디서나 작업이 가능하고, 병합등이 편리하다(협업에 유리함)
  • 서버등에 문제가 생겨도 로컬파일이 존재하기 때문에 복구가 유리하다

ETC Note : Git은 리눅스의 창시자 리누스 베네딕트 토르발스에 의하여 개발된 분산형 버전 관리 시스템이다.

리눅스 커널들을 관리하기 위해 개발하였기 때문에 방대한 양의 코드의 관리, 오픈소스 개발의 특성상 여러사람이 작업해 쉽게 망가질수 있음에 따라 분산형 저장소 지원과 빠른 속도를 제공한다.

Step 2 - Git Hub 란

Git에 관해 처음 들었을때 보통 Git보단 Git Hub를 먼저 들어본 사람이 더 많을 것이다.
Git Hub란 Git 저장소의 일종으로 Git 호스팅 기능을 무료로 제공해 개인이 Git 서버를 구축하지 않아도
push, pull, request같은 이벤트에 반응하여 Git을 통한 편리한 협업이 가능하게 해준다.

1. Git 서버란

Git의 저장소는 보통 2개로 이루어져 있다.

Remote-repository(원격 저장소) - Git Server
Local-repository(로컬 저장소) - My Directory

여기서 Git 서버는 Git의 원격 저장소의 공간을 제공해주는 서버를 통칭한다.
각각의 사용자들은 서버에서 원하는 Git 파일을 Pull(다운로드)받아 작업후 Push(업로드)를 통하여 원격 저장소에 반영하는 식으로 작업한다.

원한다면 오픈소스등을 통해 자신만의 Git 서버도 구축할 수 있다.

2. Git Hub의 사용이유

Git 서버의 제공만이 아니라 다양한 이유로 Git Hub를 이용한다.

  • 원격 저장소마다 위키, 홈페이지 등을 제공해주어 자신의 소스를 소개할수 있다.
  • 이슈트레커, 토론게시판 등의 기능을 통해 소스들를 공유, 개발할수 있는 커뮤니티를 제공한다.

분산형 버전 관리시스템 이용, 오픈소스의 공유, 자신의 코드 소개등 다양한 이유로 많은 사람들이 이용중이다.


다음 포스트에선 Git을 사용하는 방법을 배워볼 예정이다.

Git 사용법 보러가기

태그: ,

카테고리:

업데이트:

댓글남기기