일공이의 IT노트

[Git & GitHub] 깃(git)이란 무엇인가? 본문

Work Tools/Git & GitHub

[Git & GitHub] 깃(git)이란 무엇인가?

일공ILGONG 2021. 1. 3. 17:15
이 글은 'Do it! 지옥에서 온 문서 관리자 깃&깃허브 입문' 교재를 참고하여 작성하였습니다.

 

 

 

 

 

 

 

 

깃(Git)이란 무엇인가?

 

2005년, 리눅스(Linux)의 창시자이기도 한 리누스 토르발스(Linus Torvalds)'지옥에서 온 관리자'라고 칭하며 깃(Git)을 처음 세상에 내놓았다. 이로 인해 리눅스를 만드는 개발자들은 깃을 통해 리눅스의 수많은 소스 코드를 효율적으로 관리할 수 있게 되었다. 그리고 오늘날에는 리눅스뿐만 아니라 수많은 소프트웨어의 소스 코드가 깃을 통해 관리되고 있다.

 

 

깃의 핵심 기능

깃은 크게 '버전 관리(Version Control)', '백업(Backup)', '협업(Collabaration)'이라는 핵심 기능으로 지옥의 관리자 역할을 수행할 수 있다.

 

 

버전 관리(Version Control)

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

 

백업(Backup)

'백업'은 현재 컴퓨터에 있는 자료를 다른 컴퓨터에 복제하는 것이다. 외장 하드 디스크나 USB 디스크 등 별도의 저장 장치를 마련해서 백업을 할 수도 있고, 드롭박스(Dropbox)나 구글 드라이브(Google Drive) 같은 인터넷 서비스를 사용하기도 한다.

백업 공간을 제공하는 인터넷 서비스 중에는 깃 파일을 위한 것도 여럿 있다. 이를 깃의 원격 저장소 또는 온라인 저장소라고 한다. 이러한 서비스 중 가장 많이 쓰이는 것이 바로 깃허브(Github)이다.

 

협업(Collaboration)

깃허브와 같은 온라인 서비스를 사용하여 깃 파일을 팀원들이 편하게 주고받으면서 일할 수 있다. 깃은 협업 과정에서 일어날 수 있는 여러 문제를 중간에서 정리해주는 기능도 가지고 있다.

 

 

 

깃 프로그램(Git Program)

깃 프로그램은 깃을 좀 더 편리하게 사용할 수 있도록 해주며, 깃 클라이언트 프로그램(Git Client Program)이라고도 한다.

 

 

깃허브 데스크톱(GitHub Desktop)

desktop.github.com/

 

GitHub Desktop

Simple collaboration from your desktop

desktop.github.com

깃허브 데스크톱은 깃 온라인 저장소 서비스인 깃허브에서 제공하는 프로그램으로 복잡한 깃 사용법을 그래픽 사용자 인터페이스(Graphic User Interface, GUI)로 구현한 것이다.

 

 

토터스깃(TortoiseGit)

tortoisegit.org/

 

TortoiseGit – Windows Shell Interface to Git

Support Manuals, FAQ, bug reporting, mailing list, and more…

tortoisegit.org

토터스깃은 윈도우 전용 프로그램으로 윈도우 탐색기의 빠른 메뉴에 추가되는 프로그램이다.

 

 

소스트리(SourceTree)

www.sourcetreeapp.com/

 

Sourcetree | Free Git GUI for Mac and Windows

A Git GUI that offers a visual representation of your repositories. Sourcetree is a free Git client for Windows and Mac.

www.sourcetreeapp.com

소스트리는 깃의 기본 기능부터 고급 기능까지 사용할 수 있는 프로그램이다. 

기능이 많아 사용법은 복잡하지만 어느 정도 익숙해지면 자유롭게 깃을 활용할 수 있다.

 

 

커맨드 라인 인터페이스(Command Line Interface, CLI)

커맨드 라인 인터페이스는 터미널 창에 직접 명령을 입력해서 깃을 사용하는 방식이다.

 

이 방식은 기본적을 리눅스 명령을 알아야 하고, 깃 명령도 외워야 하기 때문에 소스트리나 깃허브 데스크톱 등 GUI로 만들어진 프로그램을 이용하는 것보다 어렵다. 그렇지만 깃을 훨씬 빠르게 다룰 수 있고, 반복해야 할 일을 자동화시키거나 서버 환경에서 깃을 사용하는 등 다양한 활용이 가능해지므로 이 방법에 익숙해질 필요가 있다.