Git, 어렵지 않게 시작하기 1 - Git?

2020. 1. 24. 02:18ETC/GIT

반응형

개발자라면 피할 수 없는 협업 도구인 Git. 진입장벽은 높지만 배우면 크게 도움이 되는 도구이기 때문에 소개해 드리고자 합니다. git을 처음 보는 사람을 위해서 git이 무엇인지 알아가고 사용하기 까지 발 맞춰 배워가는 것이 이 글의 목표입니다.

 

---------------  INDEX  ---------------

 

🔥 Git을 사용하는 이유

 

🚀 Git을 시작하는 방법

🌈 Git 활용하기

💻 Git으로 협업하기

🎠 그 밖에 할 수 있는 것들

 

--------------------------------------

 


이 번 포스팅에서는 Git을 사용하는 이유에 대해서 알아보는 시간을 가져보도록 하겠습니다.

 

Git은 왜 쓰이는 걸까?

Git은 분산형 버전관리 시스템( DVCS, Distributed Version Control System) 입니다. 소스 코드 버전과 변경된 이력들을 관리해줍니다. 아직 Git에 대한 감이 오기는 힘드니 아래의 예시를 보겠습니다.

첫 번째.

한 번쯤 경험해 본다는 ‘ .진짜_최종 ’ 😅 그러다가 어떤게 최종파일인지 헷갈리면 하나하나 확인해 보아야하는 상황도 생기기 마련입니다. 이렇게 변경된 파일들을 한 곳에서 관리하면 편하지 않을까요?

 

이러한 불편함을 극복하고자 한 곳에서 수정된 이력을 관리해주는 것이 바로 ‘Git’ 입니다. 한 곳에서 업데이트되는 수정본들을 취합하여 관리해주고 수정된 과거 이력들을 확인할 수 있습니다.

 

마치 타임머신처럼 특정 시점으로 돌아가 파일을 확인할 수도 있고 그 시점으로 돌아갈 수도 있습니다.

 

두 번째.

다른 사람과 같이 작업할 때, 같은 파일을 편집하는 경우 문제가 생길 수 있습니다.

 

예를 들어 route.txt라는 파일을 두 사람이 각자 편집한 후 합치는 경우에 누군가가 편집한 내용이 누락되는 경우도 생기게 되죠.

Git은 저장되는 두 파일을 비교하고 취합합니다. 같은 파일이 수정되었다면 충돌주의를 보여주어 바꿀 수 있게끔 만들어줍니다.

 

세 번째.

학교에서 집이나 회사에서 집과 같은 서로 다른 환경에서 작업할 때 카카오톡이나 구글 드라이브 등을 많이 사용하진 않았나요?

단순한 텍스트 파일이나 ppt 발표물은 이렇게 카카오톡이나 구글 드라이브를 사용하여 공유해도 크게 문제 되지 않습니다.

하지만, 개발자들이 프로젝트를 만들어 공유하는 상황에서는 조금 다릅니다.

파일들을 묶고 보내고 받고… 이렇게 여러명이서 작업을 한다고 하면 🤦🏻‍♀️ 생각만해도 한숨이 나오죠.

 

Git은 컴퓨터에 버전을 관리해주고, github는 ‘소스 저장소’와 같은 존재입니다. github에 프로젝트를 올리고 원하는 곳 어디서나 가지고 올 수 있습니다.

 

 

Git과 Github는 무슨 차이일까?

대부분의 사람들이 Git과 Github가 같다고 생각합니다. 하지만, 가깝지만 서로 다른 도구들 입니다. 그렇다면 어떤 차이가 있을까요?

 

Git은 버전관리 시스템이기 때문에 자신의 컴퓨터 내에서 작업하는 변경사항들을 추적하고 관리해주는 서비스를 말합니다.

 

Github는 Git을 사용하는 프로젝트를 지원하는 웹호스팅 서비스입니다.

영리적인 서비스와 오픈소스를 위한 무상 서비스를 모두 제공하며, 현재 가장 인기있는 오픈 소스 코드 저장소입니다.

 

한마디로, Git은 개인의 컴퓨터 영역이라면 Github는 서버의 영역입니다.

코드를 서버에 올려 공유하며 개인의 컴퓨터에 분산되어 있기 때문에 ‘ 분산형 버전 관리 시스템 ’이라고 부릅니다.

 

 

로컬 저장소와 원격 저장소?

Git에서 사용하는 Repository(저장소)는 말그대로 파일이나 폴더를 저장하는 ‘저장소’입니다.

Git에서 사용하는 저장소의 장점은 파일을 변경 이력 별로 구분되어 저장된다는 점입니다.

저장소를 한 프로젝트를 담는 폴더 그 이상으로 생각하는 것도 좋을 것 같습니다.

 

Git을 사용할 때에는 두 가지 종류의 저장소를 사용합니다. 첫 번째는 로컬 저장소(Local Repository)이고, 두 번째는 원격 저장소 (Remote Repository)입니다.

 

로컬 저장소는 내 PC 안에 폴더나 파일이 저장되는 ‘개인 저장소’이고,

원격 저장소는 내가 설정해둔 원격 저장소 전용 서버에서 관리되며 여러 사람이 같이 사용하여 ‘공유하는 저장소’입니다.

 

Github로 예를 들면 Github내에서 만들어진 Repository가 바로 원격 저장소가 됩니다.

위의 그림과 같이 Git의 로컬 저장소에 저장된 자료들을 원격 저장소에 올릴 수 도 있고, 내려받을 수도 있습니다.

언제 어디서나 접근할 수 있는 공용 폴더가 하나 생긴 것 처럼요.

이렇게 원격 저장소가 생기니 협업을 할 때에도 편하고, 다양한 환경에서도 편히 작업할 수 있게 됩니다.

 

 

이제 Git을 사용하는 이유가 이해가시나요?

다음은 원격 저장소를 만들고 프로젝트를 만들 때 필요한 명령어와 기본적인 Git 명령어에 대해서 알아보도록 하겠습니다.

반응형