📝

1. Git & Github 기본 개념

 
분산 버전 관리 툴git을 관리해주는 웹 호스팅 서비스가 바로 github입니다. 2008년에 설립되어 2018년도에 MS가 인수하였을 만큼 유명한 서비스입니다.
 
"깃헙 주소 알려주세요."
 
여러분이 개발 회사에 취직을 하시거나 이력서를 내실 때 github 주소를 대부분 물어본답니다. 그만큼 협업을 위한 필수 툴 중 하나입니다.
 
notion imagenotion image
 
프로젝트 관리를 이렇게 하지 않습니다. 만약 소스코드를 이렇게 관리한다면 얼마나 많은 용량이 낭비될까요? 또 다시 원래의 소스코드로 돌아가고 싶을 때에는요? 언제 무엇이 수정되었는지 어떻게 찾죠? 코드 공유는 어떻게 할까요? 카톡으로 주고받나요? 내용을 정리해보도록 하겠습니다.
 
  1. 용량 : 파일이 N개라면 N * 파일용량
  1. 협업 : 파일 주고 받기, 누가 수정했는지, 얼마만큼 수정되었는지
  1. 관리 : 원하는 Version으로 되돌리기, Code 피드백과 리뷰
 
github은 이 모든 것이 가능하게 합니다.
 
일단 Github(깃허브)를 이해하려면 Git(깃)이라는 프로그램을 알아야 합니다. Git은 버전 관리 도구 중 가장 선호도가 높은 프로그램입니다.
 
Git은 로컬 저장소(내 컴퓨터)와 원격 저장소(서버 컴퓨터)로 나뉩니다. 내 컴퓨터에서 작성한 프로젝트를 원격 저장소에 저장해두고, 만약 내 컴퓨터의 프로젝트가 손상되거나 다른 컴퓨터에서 코드를 가져오고 싶을 때는 원격 저장소에서 바로 가져올 수 있습니다. 이때, 코드 뿐만 아니라 코드의 변경 내역까지 모두 가져올 수 있기 때문에 Git이 "버전 관리 도구"라고 불립니다.
 
위니브위니브
위니브
 
이렇듯 Git에서 원격 저장소는 코드의 원본이나 변경 내역을 저장하는 매우 중요한 역할을 합니다. 이러한 Git의 원격 저장소 서비스를 제공하는 사이트 중 가장 유명한 것이 GitHub입니다.
 
GitHub가 단순히 저장소 역할만 하는 것은 아닙니다. GitHub는 개발자들 사이의 거대한 커뮤니티를 형성하고 있습니다. 자신의 프로젝트는 물론 다른 개발자들의 인기 있는 프로젝트의 코드를 볼 수 있고, 이슈(issue)를 제기할 수 있으며, 원한다면 다른 이의 프로젝트를 수정 및 발전 시키는 데에 참여할 수 있습니다. 이를 오픈소스에 기여(contribution)한다고 합니다.
 
또한 블로그로도 Github을 사용할 수 있어요. 글을 쓰는데 모든 필요한 도구들이 갖춰져 있습니다.