git

#0 깃(Git) - git은 무엇인가?

에이블디 2021. 10. 25. 18:59

git이란 무엇인가?

안녕하세요! 에이블디 입니다!

이번 포스팅에서는 git에 대하여 알아보는 시간을 가져보려고 해요!

 

개발자 혹은 개발을 공부하는 사람이라면 깃이나 깃허브에 대해 한 번쯤은 들어보셨으리라 생각합니다.

 

현업이든 토이프로젝트든 하나의 프로젝트를 개발할 때

소스코드를 적어도 수십 번에서 많게는 수백 번 이상 수정할 수밖에 없는데요,

코드의 수정 횟수가 많으면 많아질수록 소스 코드를 관리하는데

많은 어려움이 생기곤 합니다.

 

이 때, 소스 코드를 효율적으로 관리하기 위해 필요한 시스템이 바로 깃(git)입니다!

 

깃은 2005년, 리누스 토르발스라는 사람이 처음 세상에 소개했는데요.

그는 깃을 소개하면서 '깃은 지옥에서 온 관리자'라고 말했습니다.

 

리누스 토르발스는 리눅스(Linux)의 창시자이기도 한데요,

리눅스는 오픈소스인 만큼 오랜 시간동안 1만 명이 넘는 소프트웨어 개발자들이

2천만줄이 넘는 소스코드를 작성하며 만들어진 운영체제 입니다.

 

2천만 줄이 넘는 소스 코드를, 그것도 한사람이 아닌 1만 명이 넘는 개발자들이

작성한 소스 코드를 관리하기란 쉽지 않은 일이었을 텐데요

이러한 지옥 같은 작업환경에서 벗어나기 위해 만든 시스템이 바로 깃입니다.

 

리눅스를 만드는 개발자들은 깃을 통해 리눅스의 수많은 소스 코드를 효율적으로 관리하기 시작했고,

오늘날에는 리눅스뿐만 아니라 수많은 소프트웨어의 소스 코드가 깃을 통해서 관리되고 있습니다.

 

그렇다면 깃으로 우리는 무엇을 할 수 있을까요?

 

깃이 제공하는 핵심 기능은 크게 '버전 관리(Version Control)', '백업(Backup)', 협업(Collaboration)'으로 나눌 수 있습니다.

 

1. 버전 관리

개발을 하거나 컴퓨터로 문서를 작성할 때, 버전마다 파일을 나누거나 문서를 초안 본, 수정본, 최종본으로 나누어 관리한 적 많으시죠?

그런데 이러한 프로젝트나 문서가 100개, 1,000개 이상이 된다고 생각해보세요.

하나의 프로젝트마다 파생되는 파일들도 많아질 테고 어떤 파일에서 어떤 내용을 수정했는지 기억하기도 힘들어지겠죠?

깃은 파일이나 문서를 수정할 때마다 언제 수정했는지, 어떤 것을 변경했는지 편하고 구체적으로 기록하기 위한 버전 관리 시스템입니다.

 

2. 백업

컴퓨터로 작업을 하다가 운영체제의 오류로 포맷을 해야 한다거나 바이러스로 인해 포맷을 해야 하는 경우 한 번씩 다 있으시죠?

이럴 때 가장 난감한 상황이 중요한 자료들을 '백업(Backup)'하지 못해 불가피하게 유실하게 되는 경우입니다.

백업이란 현재 컴퓨터에 있는 자료를 다른 컴퓨터에 복제하는 것입니다.

외장 하드 디스크나 USB 등 별도의 저장 장치를 마련해서 백업 할 수도 있고, 구글 드라이브 같은 인터넷 서비스를 사용하기도 합니다.

 

백업 공간을 제공하는 인터넷 서비스 중에는 깃 파일을 위한 것도 여럿 있는데, 이를 깃의 원격 저장소 또는 온라인 저장소라고 합니다.

이러한 서비스 중 가장 많이 쓰이는 것이 깃허브(Github)입니다.

 

3. 협업

깃허브와 같은 온라인 서비스를 사용하면 여러 사람이 함께 일할 수 있다는 장점이 생깁니다.

예를 들어 팀원 둘이 작업을 할 경우 팀원 A가 작업을 해서 원격저장소에 올리면 원격 저장소에 있는 파일을 팀원 B가 내려받아 작업하고,

작업이 끝나면 그 결과를 다시 원격 저장소에 올립니다.

또한, 누가 어느 부분을 어떻게 수정했는지 기록에 남기 때문에 나중에 문제가 생겼을 때도 파악하기 쉽습니다.

 

이처럼 깃을 사용하면 팀원들이 파일을 편하게 주고받으면서 일할 수 있습니다.

 

깃 설치하기

깃을 사용하려면 컴퓨터에 깃을 설치해야하는데요, 깃은 무료로 설치할 수 있습니다.

 

윈도우 운영 체제

깃에서는 리눅스 명령을 사용하기 때문에 윈도우에 깃을 설치하면 리눅스 명령을 사용할 수 있도록 깃 배시(Git Bash)라는 프로그램이 함께 설치됩니다.

 

맥 운영 체제

맥 운영 체제에서는 리눅스 명령을 기본으로 사용하기 때문에 깃을 설치한 후 맥에 있는 터미널을 통해 깃을 사용합니다.

 

설치는 맥 기준으로 작성해 보겠습니다.

 

1. https://git-scm.com/ 에 접속하면 운영체제에 따라 프로그램을 내려받을 수 있는 화면이 나타납니다.

화면 오른쪽 아래의 Download for Mac을 누르면 자동으로 파일을 내려받기 시작합니다.

파일을 내려받고 실행 시켜 설치를 진행해 주세요.

 

설치가 끝나면 

터미널을 실행 시켜 줍니다.

 

터미널 창이 나타나면 'git'을 입력해 보세요. 깃이 제대로 설치됐다면 git 명령에 쓸 수 있는 옵션들이 나타납니다.

$ git

 

깃 환경 설정하기

깃을 사용하기 전에 먼저 사용자 정보를 입력해 줍니다.

깃은 버전을 저장할 때마다 그 버전을 만든 사용자 정보도 함께 저장하기 때문인데요, 이를 통해 어떤 버전을 누가 언제 만들었는지 쉽게 파악할 수 있습니다.

여기서 운영체제가 윈도우라면 깃 배시를, 맥이라면 터미널을 열어 깃에서 사용자 정보를 설정하는 git config 명령을 입력합니다.

여기에 --global 옵션을 추가하면 현재 컴퓨터에 있는 모든 저장소에서 같은 사용자 정보를 사용하도록 설정하게 됩니다.

터미널에 다음과 같이 입력해서 사용자의 이름과 메일 주소를 저장합니다.

$ git config --global user.name "abled"
$ git config --global user.email "abled@abled.com"

 

 

깃 환경설정까지 다 마치셨으면 깃을 사용할 준비가 다 되었습니다!

 

다음 시간에는 깃으로 버전 관리하는 방법에 대해서 하나씩 알아보도록 하겠습니다!