TIL 13 Git/Github - Git/Github 소개

Leo·2021년 3월 27일
0

Git/Github

목록 보기
1/2
post-thumbnail

개발자라면 필수적으로 알아야 하는 Git/Github에 대해 알아보자. 설치 방법이나 명령어들은 다음 포스팅에서 알아보고 우선 Git/Github가 무엇이고, 왜 생기게 되었는지에 대해 정리해보자.

Git의 공식 명칭은 버전 관리 시스템(VCS, Version Control System)이다. 그리고 GithubGit의 데이터를 저장하는 서버이다.

Git 등장 배경

Git은 프로젝트 파일의 변경 사항을 추적하는 시스템이다. 그렇다면 Git이 왜 필요할까? 여러가지 이유가 있겠지만 예시로 현재 버전 1인 프로그램이 있다. 개발자들이 버전1.1을 개발해서 실행을 했는데 에러가 나면서 작동하지가 않는다. 하지만 기존에 있던 버전 1의 코드가 너무 많이 바뀌어서 어떠한 상태였는지를 잊어버렸다.

그래서 나온 것이 VCS이다. 버전별로 코드를 따로 관리하여 서버에 저장해놓고, 새로운 버전에서 에러가 난다면 기존 버전을 다운받아 다시 시작하면 되기 때문이다. 하지만 버전 2를 개발을 하던 도중 서버가 터져서 버전 1.1의 데이터가 삭제되었다.

이런 경우를 대비해 Backup을 하는 방법이 떠올랐다. 서버에서만 관리하는 것이 아닌 개발자 각자의 컴퓨터에 저장해서 서버에 이슈가 생겨도 팀원 중 한 명의 컴퓨터에 저장되어있던 버전을 서버에 올린 후, 다른 개발자들은 그 버전을 내려받으면 된다. 반대로 개발자 컴퓨터에 이슈가 생기면 서버에서 다운을 받으면 된다.

여러 대의 컴퓨터와 하나의 메인 서버가 소통하는 방식이 Git(로컬 컴퓨터)Github(서버)의 관계이다. 그리고 코드가 서버에만 있는 것이 아니고 각자의 로컬 컴퓨터에 분산되어 있기 때문에 분산 버전 관리 시스템(DVCS, Distributed VCS)라고 부른다.

Git의 장점

코드 수정

Git을 사용하면서 얻을 수 있는 장점은 코드의 수정을 할 때 겁먹지 않고 할 수 있다는 것이다. 서버든 다른 동료 개발자의 로컬 컴퓨터든 저장이 되어있기 때문에, 버전을 되돌리는 것이 자유로워진다. 그래서 새로운 기능을 만들 때 안심하고 코드를 추가, 제거를 할 수 있다.

동시 개발

또 하나의 장점은 여러 사람이 동시에 개발을 하기 편리해진다. 한 회사의 여러 개발팀이 있는데 각 팀에서 만든 코드들을 하나로 합칠 때 서로 충돌해서 힘들어진다. 하지만 Git이 어떤 부분이 충돌이 일어나는지 알려줘서 그 부분을 수정할 수 있다.

만약 Git이 없다면 아래와 같이 버전 관리하기가 힘들어 질 것이다.

정리

Git/Github는 프로젝트 파일의 변경 사항을 추적하는 시스템이다. 이를 통해 개발자들은 프로젝트의 변경 사항을 기록하고, 특정 시점으로 언제든지 이동할 수 있다. 그리고 동시에 많은 사람들이 개발을 할 수 있게 해주고 각자 만든 부분을 병합하기 쉽게 해준다.

profile
느리지만 확실하게

0개의 댓글

관련 채용 정보

Powered by GraphCDN, the GraphQL CDN