GDSC Sookmyung 활동/Speaker Session & Hands on Workshop

[Git/Github] 0. 깃이란? 깃허브란?

hrxorxm 2021. 2. 20. 18:27

📌 버전 관리 시스템 (VCS, Version Control System)

 형상 관리 시스템이라고도 불리는 버전 관리 시스템파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템입니다. 각 파일을 이전 상태로 되돌릴 수 있고, 프로젝트를 통째로 이전 상태로 되돌릴 수 있습니다. 또한, 시간에 따라 수정 내용을 비교해 볼 수 있고, 누가 문제를 일으켰는지도 추적할 수 있고, 누가 언제 만들어낸 이슈인지도 알 수 있습니다. 따라서 버전 관리를 하고 있다면 파일을 잃어버리거나 잘못 고쳤을 때도 쉽게 복구할 수 있습니다.

1. 중앙집중식 버전 관리 시스템 (CVCS, Central VCS)

CVCS

 프로젝트를 진행하다 보면 다른 개발자와 함께 작업해야 하는 경우가 많습니다. 이럴 때 생기는 문제를 해결하기 위해 CVCS(중앙집중식 VCS)가 개발되었습다. 파일을 관리하는 서버가 별도로 있고 클라이언트가 중앙 서버에서 파일을 받아서 사용합니다. 만약 서버가 한 시간 동안 다운되면 그동안 아무도 다른 사람과 협업할 수 없고 사람들이 하는 일을 백업할 방법도 없습니다. 그리고 중앙 데이터베이스가 있는 하드디스크에 문제가 생기면 프로젝트의 모든 히스토리를 잃습니다.

2. 분산 버전 관리 시스템 (DVCS, Distributed VCS)✨

DVCS

 모든 프로젝트는 공식 저장소로 간주되는 중앙 저장소가 있으며 이는 프로젝트 유지보수자들에 의해 관리됩니다. 개발자들은 이 저장소를 복제(clone)하여 동일한 로컬 코드베이스 사본을 만들 수 있습니다. 중앙 저장소의 소스 코드 변경사항은 주기적으로 로컬 저장소와 동기화됩니다.

 

📌 깃 (Git)

 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템입니다. 소프트웨어 개발에서 소스 코드 관리에 주로 사용됩니다.

Git

📌 깃허브 (GitHub)

 분산 버전 관리 툴인 깃(Git)을 사용하는 프로젝트를 지원하는 웹호스팅 서비스입니다. GitHub는 영리적인 서비스와 오픈소스를 위한 무상 서비스를 모두 제공합니다. GitHub는 가장 인기있는 Git 호스팅 사이트이자, 가장 인기있는 오픈 소스 코드 저장소입니다.

GitHub

 

📌 어떻게 사용하면 좋을까?

1. 개발 중인 소스코드 버전 관리

 개발을 하면서 소스코드를 작성하다보면 아래 사진과 같이 다양한 파일이 생기기 일쑤입니다. 한참 열심히 개발을 하다가 며칠 뒤에 봤을 때, 어떤 것이 최종 파일이었는지 헷갈릴 때가 많습니다. 또한, 개발하다가 오류가 생겨서 어느 시점의 파일로 다시 돌아가고 싶은 순간이 있습니다. 이럴 때, 깃과 깃허브를 사용하여 소스코드의 버전 관리를 한다면, 훨씬 더 수월하게 수정 기록을 확인하여 해결할 수 있습니다.

2. 프로젝트 진행 중 협업

 특히, 두명 이상 같이 작업을 할 때 깃/깃허브를 사용하여 협업을 할 때 더 빛을 발합니다. 소스코드 버전 관리는 물론이고, 누가 어떤 부분을 수정했는지를 확인할 수 있는 등 편리하게 협업할 수 있도록 돕습니다.

3. 개발자의 포트폴리오

 깃허브 프로필 메인에 자신이 참여한 프로젝트 저장소를 골라서 보여줄 수 있고, 얼마나 꾸준히 개발을 해왔는지 커밋 기록을 통해 보여줄 수 있습니다. 예를 들어, 링크드인 포트폴리오URL에 자신의 깃허브 주소를 적으면, 채용 담당자들이 링크로 들어가서 쉽게 포트폴리오를 확인할 수 있습니다. 자신이 관심있는 주제의 프로젝트를 메인에 걸어두고, 꾸준히 커밋 기록을 남긴다면, 채용 담당자들에게 좋은 인상을 남길 수 있을 것입니다.

 

내용 및 사진 출처 : 위키피디아, 깃 공식 사이트 외

github.com/Erfaniaa/text-to-commit-history

www.atlassian.com/blog/bitbucket/5-pull-request-must-haves