Git & GitHub
1. 버전관리
Git은 버전관리를 위한 유용한 툴이다.
개발을 하다보면 소프트웨어를 업데이트해야 할 일이 생긴다.
그리고 업데이트에 따라 해당 소프트웨어의 다양한 버전이 생긴다.
소프트웨어를 업데이트 할 경우, 의도치 않은 오류 또는 결과가 발생할 수 있다.
이럴 때 개발자는 오류가 생기기 전 버전으로 다시 돌아가야 할 것이며, 그것을 위해 이전의 버전들을 여러 개의 파일로 저장하고 있어야 한다.
소프트웨어의 종류에 따라 저장해둬야 할 용량이 매우 클 수도 있고, 예기치 못한 사건으로 파일이 소실될 수 도 있다.
이러한 불편한 점을 해결한 것 중 하나가 Git이다.
Git은 소프트웨어를 하나의 파일로 관리하고, 언제든지 특정한 버전으로 돌아갈 수 있게 하는 버전관리 툴이다.
2. Git & GitHub
Git과 GitHub를 이해하기 위해서는 서버와 클라이언트, 로컬과 리모트의 개념을 알고 가는게 좋다.
클라이언트는 데이터를 요청하는 고객이며, 서버는 그 요청에 응답하여 데이터를 제공하는 제공자이다.
예를 하나 들어보자.
엣지 브라우저의 주소창에 naver 주소를 검색했다고 가정하자.
이때 엣지 브라우저는 naver에게 데이터를 요청하는 클라이언트가 되며, naver는 엣지 브라우저의 요청에 응답하여 데이터를 제공하는 서버가 된다.
로컬은 주체가 현재 위치하고 있는 지역, 리모트는 로컬에서 멀리 떨어진 지역을 말한다.
이 개념을 컴퓨터로 가져와 보자.
로컬 컴퓨터는 조작자가 조작하고 있는 컴퓨터, 리모트 컴퓨터는 타인이 조작하고 있는 컴퓨터를 말한다.
Git은 로컬에서 처리되는 소스코드 버전관리 툴이다.
GitHub는 리모트에 Git에서 처리된 소스코드 버전들을 저장해놓은 저장소이다.
버전관리 툴과 저장소는 몇 가지 더 존재하며, 그 중 가장 대중적으로 사용되는 것이 Git과 GitHub이다.
출처: 코딩은 실전이다!-Git알못을 위한 깃린이코스(Git, GitHub 실습 위주)_인프런(신재형)