Git & Github
👾 Git이란?
Git의 공식 명칭은 분산 버전 관리 시스템 (VCS) 이다.
쉽게 말해, 프로젝트 파일의 변경 사항을 추적하는 시스템이다. 이를 통해 개발자들은 프로젝트의 변경 사항을 기록하고, 특정 시점의 버전으로 언제든 돌아갈 수 있다. 이런 버전 관리 시스템은 많은 사람들이 효율적으로 함께 작업하고, 프로젝트를 중심으로 협업할 때 사용할 수 있다. 각 개발자가 자신만의 프로젝트 버전을 본인 컴퓨터에 갖게 된다. 나중에 이러한 개별 버전의 프로젝트를 병합하여 기준이 되는 버전의 프로젝트에 적용 할 수 있게 된다.
그렇다면 버전 관리를 하는 이유는 뭘까?
아래 왼쪽 이미지를 보자.
파일이나 문서를 왼쪽 이미지처럼 관리한다면 이러한 단점이 있다.
- 만든 사람만 알아볼 수 있음
- 원본파일 수정본이 혼재되어 삭제 위험성 있음
- 언제 어떻게 뭐가 바뀌었는지 추적이 어려움
- 파일이 계속 생겨서 불필요한 용량을 차지함
- 수정 단계, 순서를 알기 어려움
이러한 단점을 해결하고자 버전 관리를 한다.
코드 버전 관리를 하는 이유를 아래 리스트에서 확인해 볼 수 있다.
- 수정할때마다 파일을 새로 만들면 관리가 힘듦
- 언제든 이전 버전의 코드로 돌아갈 수 있음
- 이력을 남기기 위해
- 하나의 프로젝트를 두고 여러명의 개발자들이 협업할 수 있음
🐱🐙 Github이란?
GitHub은 Git 을 사용한 프로젝트들의 저장소이자 Git repository를 위한 호스팅 플랫폼이다. GitHub (및 기타 유사한 플랫폼) 없이도 Git을 사용할 수 있지만 다른 개발자와 같은 프로젝트를 두고 협업하거나 내 코드를 공유하기는 어렵다.
GitHub repository는 모든 프로젝트 파일들과 코드의 히스토리를 관리할 수 있게 해주고, public 혹은 private 하게 협업할 수 있게 해준다.
GitHub은 개발자들의 SNS 라고도 볼 수 있다. GitHub 유저들은 서로 follow 하고, 협업하기도 하면서, 다양한 방법으로 교류할 수 있다. 다른 사람들이 나의 GitHub 계정을 통해 내가 어떤 개발자인지도 알 수 있고, 내가 진행했던 프로젝트를 확인할 수도 있다.