power-girl0-0

[GIT] git 등장 배경과 장점 본문

개발

[GIT] git 등장 배경과 장점

power-girl0-0 2021. 2. 17. 18:17
728x90

 

해당 게시물은 나동빈 님의 'Git으로 시작하는 협업 및 오픈소스 프로젝트'강의를 바탕으로 작성된 것입니다.

스스로 공부한 것을 정리하고 복습하기 위한 목적으로 작성하였습니다.


 Git 

깃(Git)을 이용하면 하나의 프로젝트를 여러 사람들과 함께 효과적으로 관리하여 협업한다. 

실제로 오픈소스를 효과적으로 관리하기 위한 목적으로 깃이 만들어 졌으므로 깃은 실제 프로젝트에 적용하기에 매우 적합합니다.


하나의 프로젝트를 여러명이서 함께 작업한다고 가정해보자.

'동시에' 프로젝트를 작업해야 한다는 점에서 매우 큰 문제점에 부딪칠 수 있다.

소스코드를 여러 명이 동시에 보면서, 소스코드를 수정해야 하는데 이러한 작업은 깃(GIt)과 같은 협업 관리 도구가 없으면 쉽지 않다.


깃(Git)은 여러 명이 병렬적으로 개발을 할 수 있게 해준다는 점에서 프로젝트 개발 속도를 매우 빠르게 해줍니다.

 

실제로 아래와 같이, 리눅스를 포함해서 다양한 오픈소스 프로젝트들은 수천 명이 넘는 개발자가 포함되어 있는데, 이들의 작업 내역을 어떻게 효과적으로 관리할 수 있는지를 깃(Git)을 제대로 배웠을 때 바르게 이해할 수 있습니다.

무엇보다 깃(Git)을 사용할 때 얻을 수 있는, 개발자의 현실적인 장점은 포트폴리오 관리에도 용이하다는 것이다.

깃 허브(Git Hub)에 자신이 작업한 프로젝트를 나열하여, 얼마나 주기적으로 프로젝트를 관리하고 있는지 모두 드러나기 때문이다.


 깃을 사용하지 않는 경우 

깃을 사용하지 않으면, 소스코드를 USB에 담아서 다른 사람의 컴퓨터로 옮기는 방식 등으로 프로젝트를 공유해야 한다.

그러면, 수정한 내역이 다른사람에게 즉각적으로 전달이 안 되기 때문에 동시에 프로젝트를 작업하기는 어렵다.

 

혹은 깃 대신에 서브버전(Subversion)을 사용할 수 있다.

줄여서 SVN이라고도 부르는 이것은 Git이 활발하게 이용되기 이전에 많이 사용되었던 협업 관리 도구이다.

SVN은 기본적으로 중앙 서버가 존재한다는 점에서 Git과는 차이점이 존재하며, SVN자체도 오픈소스라는 특징이 있다.


 깃을 사용하는 경우 

앞에서 나온 SVN은 각 컴퓨터가 중앙 서버처럼 사용하는 컴퓨터로부터 파일을 다운로드 받아 이용하는 방식이다.

깃(Git)은 중앙 서버의 개념이 없으며 중앙 서버처럼 사용하는 컴퓨터가 있다고 하더라도, 그 서버가 망가졌을 때 다른 컴퓨터로부터 소스코드를 복구할 수 있다는 특징이 있기 때문에 깃을 사용한다.


 깃의 장점 

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

 

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

 

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

 

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

 

 

 

 

728x90

'개발' 카테고리의 다른 글

[GIT] git 저장소에 반영하기  (0) 2021.02.17
[GIT] git의 동작원리  (0) 2021.02.17
[GIT] 오픈소스의 개요 및 오픈소스 활동을 하는 이유  (0) 2021.02.17
[GIT] git 설치 및 사용법 익히기  (0) 2021.02.17
Eclipse 설치  (0) 2021.02.16
Comments