[Git] Git? GitHub?

Git에 대해 공부하기 전에 근본적인 질문으로 Git이란 무엇이고, GitHub이란 무엇인지 생각해보자.


Git

Git이 무엇일까?

간단하게 말해서 Git은 코드의 버전을 관리할 수 있는 프로그램을 말한다. 

버전 관리

과제 수행을 예시로 들어보자. 과제 보고서를 작성하면서 내용을 추가하며 수정하며 이전 완성본이 필요할 경우에 대비하여 파일을 남겨두는 경우가 있다. 이렇게 매번 달라지는 파일을 만들다보면 "과제보고서.doc", "과제보고서(수정).doc", "과제보고서(최종).doc", "과제보고서(진짜_최종).doc"과 같이 파일이 생성될 것이다. 여기엔
파일의 어떤 내용이 수정된 것인지 확인하기 어렵고,
파일의 중간 내용을 확인하기 어렵다(어떤 파일을 봐야 이 내용을 볼 수 있는가?)
는 문제점이 있다. 이를 확인하기 위해서는 모든 파일을 열어봐야 할 것이다.

 

이런 문제를 방지하기 위해 버전 관리가 필요하다.

버전 관리란, 파일의 변화를 시간에 따라 기록하고 특정 시점의 버전을 다시 꺼내올 수 있는 시스템을 말한다. 이러한 버전 관리를 할 수 있는 것이 Git이다.

버전 관리의 큰 장점에는 다음 2가지가 있다.

  1. 최종 버전까지의 지난 과정을 확인할 수 있다.
  2. 잘못된 부분이 발생하면 이전의 버전으로 돌아갈 수 있다.

버전 관리를 하지 않고 하나의 파일(코드)에 계속 수정을 했다면 파일(코드)이 잘못 되었을 경우, 이전의 상태로 돌아가기 힘들 것이다. 

Git은 편리한 방식으로 각 버전마다 확실하게 구분되도록 버전 관리를 해준다. 또한 매번 작성했던 코드의 모습을 하나의 버전으로 저장할 수 있도록 해준다. 

 

협업

Git은 버전 관리 뿐만 아니라 여러 개발자들이 협업할 수 있도록 해준다. 동시에 작성한 코드를 합칠 수 있다.

 

작업물 보내기

Git은 이 두 가지 기능 외에도 다른 컴퓨터에 작업물을 보내는 기능도 있다.

다른 컴퓨터에 작업물을 보낸다는 것은 작업물의 백업본을 만든다는 것을 의미한다. 즉, 내 컴퓨터에서 작업을 하다 문제가 생겼을 경우, 다시 외부 컴퓨터에서 작업물을 가져와 복구시킬 수 있다.

그렇다면 이 때, 외부 컴퓨터는 누가 준비할까? 

직접 준비해도 되지만 이는 너무 번거롭고 비용도 많이 들기 때문에 이를 무료로 제공하고 대신해주는 서비스들이 있는데 이 중 하나가 GitHub인 것이다. 


GitHub

GitHub를 사용하면 외부 컴퓨터를 따로 마련하지 않아도 작업한 내용을 자신의 컴퓨터가 아닌 다른 곳에 저장할 수 있다. 정리하면,

Git은 버전을 관리하는 프로그램
GitHub는 Git으로 관리하는 프로젝트를 올려 둘 수 있는 사이트(원격 서비스 제공)

다른 컴퓨터에 보내는 것의 또 다른 장점은 다른 사람과의 협업이 가능해진다는 점이다. 외부에 저장해 놓은 파일(코드)을 다른 사람이 가져가 수정해 업로드하고, 이를 가져가 다시 수정해 업로드하고... 이 과정을 반복한다면 협업이 가능한 것이다. 


이제 실제로 Git을 설치하고 사용해보자.

'Git' 카테고리의 다른 글

[Git] 프로젝트 관리 & Git 설정  (0) 2022.07.14
[Git] add, commit 하기  (0) 2022.07.09
[Git] repository 만들기  (0) 2022.07.09
[Git] repository와 commit  (0) 2022.07.09
[Git] Git 설치하기(Mac)  (0) 2022.07.09