개발 일지/Git

[Git] Git과 Github

미숫가루설탕많이 2022. 12. 20. 16:38

 버전 관리 시스템(Version Control System)이란 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 불러올 수 있는 시스템을 말한다. 코드를 수정한 뒤 에디터를 종료했다면 다시 실행한 텍스트 에디터에서 이전 코드로 돌아갈 수 없기 때문에 이런 경우를 위해서라도 이전에 작성한 내용을 보존해야할 필요가 있다. Git은 버전 관리 시스템 중 가장 많이 쓰이는 강력한 도구이다. 실무에서 사용하는 협업 도구(Git)의 사용법을 익히고 오픈 소스(Open Source : 소스 코드가 공개된 소프트웨어) 생태계에 기여할 수 있는 개발자가 되는 것을 목표로 한다.

 

 Git은 Linux OS를 만든 리누스 토르발즈가 만든 일종의 프로그램이다. 리누스 토르발즈는 약 26년동안 2천만줄이 넘는 소스 코드를 1만명이 넘는 소프트웨어 엔지니어들과 함께 오픈 소스 방식으로 작성하며 Linux OS를 만들고 관리했다고 한다. 이 과정에서 많은 불편함을 느꼈고 비효율적인 작업 환경을 해결하고자 만들었다고 한다. Git이란 쉽게 말해서 파일을 관리해주는 프로그램이다. 파일의 변경 사항을 추적하며 사용자가 각 파일의 버전을 관리할 수 있게 도와준다. 또한, 파일을 백업할 수 있게 해주고 협업자들과 함께 파일을 공유하고 각자의 작업물을 취합할 수 있게 도와준다.

 

 

 

Git의 세 가지 주요 기능

 

  1. 버전 관리

     만약 작업해야 하는 문서의 수가 1000개이고 각 문서별로 버전이 10개가 넘게 존재한다면 각 문서에 어떤 내용이 어떻게 수정되었는지 기억하기는 어렵다. 이러한 문제는 Git을 통해 해결이 가능하다. Git이 관리하는 폴더에 어떤 문서를 만들면 Git으로 그 문저의 버전을 관리할 수 있으며, 이후 해당 문서를 수정할 때마다 언제 어떤 부분이 어떻게 수정되었는지 Git이 상세히 기록해준다.

  2. 백업

     작업을 진행하다가 노트북이 갑자기 고장나서 작업물이 다 날아가버린 경험이 있다. 개발자들은 백업의 중요성에 대해 확실한 것과 불확실한 것에 대해 말한다. 여기서 확실한 것은 우리의 컴퓨터는 언젠가는 고장난다는 것이고 불확실한 것은 우리의 컴퓨터가 언제 고장날지 모른다는 것이다. 따라서, 작업을 진행하면서 백업을 잘 해두어야 하는데 Git은 작업물을 온라인 원격 저장소에 백업할 수 있도록 백업 기능을 제공한다.

  3. 협업

     Git은 여러 작업자가 하나의 작업물의 다른 부분을 각자 작업할 때, 작업물을 공유하고 취합할 수 있게 도와준다. 만약 같은 부분을 2명의 작업자가 작업한 경우에 Git은 특정 부분의 수정 내용이 서로 다르다는 사실을 알려주고 사용자는 어떤 내용을 반영할지 선택할 수 있다.

 

 

 

 

Git과 Github


 

 Git 자체는 로컬에서 버전을 관리해주는 프로그램이다. 그러나 백업 기능이나 협업을 위한 기능을 활용하려면 온라인 원격 저장소가 필요하다. 이러한 원격 저장소 기능을 제공해주는 서비스 중 하나가 Github이다.

 

 Github는 Git이 설치되어져 있는 클라우드 저장소이다. 따라서, 로컬에서 Git이 관리하는 파일을 Github의 원격 저장소에 업로드하면 업로드된 파일들에 대해 Git의 핵심 기능인 버전 관리 기능을 사용할 수 있으며 온라인 저장소이기 때문에 백업 및 다른 협업자들과 공유가 가능하다.

 

Git은 로컬에서 버전을 관리해주는 프로그램이며, Github는 Git을 클라우드 방식으로 구현한 서비스이다.