본문 바로가기

🧑🏻‍💻 Dev/Git & Github

[Git/Github] Git과 Github에 대해서 알아보자

개발에 관심이 있거나 개발을 해본 분들은 Github에 대해서 많이 들어봤을 것이다. 근데 Git은 무엇인가? 둘이 똑같은 거 아닌가?라는 생각을 할 수도 있다. 

 

필자도 개발에 처음 입문했을 때 당시 정확한 의미를 모르고 사용했을 때, Github를 줄여서 편하게 Git이라고 부르는 줄 알고 있었다. 😂

둘은 다른 소프트웨어이고, 서로 맡은 역할이 다르다.

 

 

Git이란?

버전을 관리하기 위한 소프트웨어를 말한다. 여기서 버전이라는 것은 그럼 무엇일까?

버전은 변경사항이라는 단어로 대체해서 사용할 수도 있는데, 유의미한 결과가 결과물로서 나오는 것을 버전이라고 한다.

아직도 어려운 느낌이 있다. 그럼 유의미한 결과는 무엇일까?

수정하고, 삭제하고, 새롭게 생성하고, 버그를 수정하는 등의 행위들이 모두 유의미한 결과가 될 수 있다.

 

즉, 정리해 보면 Git이란 유의미한 결과(변화)들이 최종적인 결과물로서 나오는 과정을 관리하기 위해서 사용되는 소프트웨어이다. 정리를 해봤지만 아직도 말이 조금 어려운 것 같다.

 

쉽게 말해서 내 컴퓨터에서 작업(수정, 삭제, 생성 등)을 했을 때, Git에서 작업 내용을 버전에 따라서 관리할 수 있도록 기능을 제공한다. 내가 원하는 변경 사항들만 스테이지에 올린 후 하나의 버전으로 만들 수 있고, 지금까지 작업했던 내용이 마음에 안 들면 원하는 버전까지 되돌아가는 등의 기능도 제공해 준다. 자세한 부분은 Git을 실습해 보면 크게 와닿을 수 있을 거라고 생각한다.

 

 

 

그럼 Github는 무엇인가?

Github는 원격 저장소 호스팅 서비스라고도 불린다. 말이 조금 어렵기 때문에 이렇게 바꾸어보자. Github는 인터넷상 어딘가에 있는 저장소에서 Git으로 관리한 프로젝트를 호스팅 해주는 서비스이다.

 

Git으로 관리한 프로젝트를 호스팅 해준다는 의미가 무엇일까? Git을 사용하면 내 컴퓨터(로컬)에서 편리하게 프로젝트를 관리할 수 있다. 하지만 이 프로젝트는 내 컴퓨터에 있기 때문에 나만 볼 수 있다. 근데 만약 다른 사람들에게 내가 Git으로 관리한 프로젝트를 공유하고 싶다면 어떻게 해야 할까라는 고민을 해보면 해답을 얻을 수 있다.

 

첫 번째 방법은 이 프로젝트 파일 자체를 다른 사람에게 USB나 외장하드를 통해서 전달해 주는 방법이다. 이것이 과연 효율적일까? 만약 내 프로젝트를 100명에게 줘야 한다면 USB를 100개를 사서 파일을 공유하던가 아니면 USB 1개를 사서 100번을 돌아다녀야 한다. 정말 비효율적인 방법이라고 할 수 있다.

 

두 번째 방법은 이 프로젝트를 인터넷상 어딘가에 올려서 다른 사람들도 볼 수 있도록 하는 것이다. 우리가 일상에서 사용하는 네이버 클라우드나 구글 클라우드를 생각해 보면 이해하기 쉬울 것이다.

 

Github는 두 번째 방법을 간편하게 이용할 수 있도록 호스팅 서비스를 제공해 준다. Github에 대해서 다시 정의해 보면 Git으로 관리한 내 컴퓨터에 있는 프로젝트를 인터넷상 어딘가에 저장할 수 있도록 자리를 빌려주는 서비스(호스팅)라고 할 수 있다. 

 

그럼 그냥 공유 드라이브에 프로젝트 파일을 올리고 다운받아서 사용하면 되는 거 아닌가라는 의문이 들 수도 있다. Github에서는 단순하게 파일만 추가하고, 내려받는 것이 아니라 이 프로젝트를 진행하면서 생긴 변화 과정(버전)에 대한 정보(History)도 저장이 됩니다.

 

즉, 내가 원하는 버전으로 돌아갈 수도 있고 되돌릴 수도 있다는 것입니다. 그래서 개발자들이 협업을 할 때 Github를 많이 사용합니다. Git과 Github에 대해서 잘 학습해 두는 것이 나중에 팀원들과 협업할 때 유용하게 작용할 수 있을 거라고 생각합니다.

 

 

다음 게시물에서는 이 Git에서 기본적으로 사용하는 명령어와 Git을 터미널에서 어떻게 사용하는지에 대해서 기록해 볼 것이다. Git을 터미널에서 사용할 때는 CLI 명령어도 같이 사용되기 때문에 이와 관련된 내용을 같이 학습하고 넘어가는 것이 좋다.

'🧑🏻‍💻 Dev > Git & Github' 카테고리의 다른 글

[Git] Git 사용해보기 (Git 명령어)  (0) 2023.03.24
[Git] CLI 명령어 사용하기  (4) 2023.03.22