
1.0 지옥에서 온 문서 관리자? 깃!
2005년 리누스 토발즈는 깃을 지옥에서 온 문서 관리자 라고 소개 했다.
그가 말하는 지옥은 수십년간 약 1만명이 넘는 엔지니어들이 오픈 소스 방식으로 소스코드를 작성한다면
그곳은 가히 문서 지옥이라 할 수 있겠다.
이러한 지옥에서 태어난 소프트웨어가 리눅스이며 이러한 지옥같은 작업 환경을 벗어나기 위해 만든 시스템이 깃이라고 한다.
이러한 깃을 통해 개발자들은 수많은 소스코드를 효율적으로 관리 하기시작 하며 오늘날 리눅스 뿐만 아닌 많은 소프트웨어 소스 코드를 깃을 통해 관리 하고 있다.
1.1 깃으로 무엇을 할 수 있을까?
깃이 제공하는 핵심 기능:
- 버전 관리
- 백업
- 협업
1.1.1 버전 관리 하기
문서를 작성 후에도 수정할 일이 발생한다. 원래 내용도 남기고 저장 해야 한다면 다른 이름으로 저장 하는 방법을 주로 사용한다.
그 파일을 구분하기 위해 아래와 같은 그림을 사용 하기도 한다.

그러나 이런 파일이 수천개라면?
과연 어떤 파일에 어떤내용을 수정 했는지 기억은 할 수 있을까?
문서를 수정 할때 마다 언제 수정하고 어떤것을 변경 했는지 구체적으로 기록 하는 것을 버전 관리 라고 한다.
그리고 이 버전 관리 하는 시스템을 깃이라고 한다.
1.1.2 백업 하기
컴퓨터는 잃어 버릴 수도 있고 고장 날 수도 있고... 그걸 방지 하고자 외장 하드에 저장을 한다 하더라도 단 한번의 실수로 우리는 데이터를 유실 하는 사고를 당할 수 있다.
그러나 Not today. 오늘은 아닐 뿐이다.
저장장치의 종류는 정말 많다. USB, 서버, NAS, 혹은 드라이브... 이러한 방법들을 우리는 사용한다.
백업 공간을 제공 하는 인터넷 서비스에는 깃 파일을 저장하기 위한것도 있는데
이것을 원격 저장소 또는 온라인 저장소라고 한다.
이러한 서비스 중에 많이 사용 하는 것이 GitHub 이다.
깃 파일을 백업 하는 과정에서 우리는 깃허브를 사용할 예정이다.
1.1.3 협업 하기
깃허브와 같은 온라인 서비스를 사용시 여럿이 함께 협업이 가능하다는 장점이 있다.
A와 B가 같은 업무를 진행 한다면, A가 우선 작업해서 원격 저장소에 파일을 업로드 하면 B는 해당 파일을 다운 받아 작업 후 그 결과물을 원격 저장소에 저장한다.
이처럼 깃을 사용하면 팀원들 끼리 파일 공유가 편하며 누가 어떤 부분을 수정했는지 기록이 가능하며 오류 발생시 파악이 쉽다.
만약 동시에 둘이 같은 파일을 동시에 수정하면? 같은 행을 수정했다면?
그 문제도 또한 깃허브가 중간에서 정리 해줄 수 있다.
위의 세가지 기능은 순서대로 알아두도록 하자
버전관리를 이해 못한담녀 백업을 이해 하기 어렵고,
백업을 이해 못하면 협업을 이해 할 수 없다.
1.2깃 프로그램의 종류
세상에는 여러가지 제품군들이 있듯 깃프로그램도 좀더 편리 하게 사용 할 수 있게 깃 클라이언트 프로그램이 많다.
1.2.1 깃허브 데스크톱
깃 온라인 저장소 서비스인 깃허브에서 제공하는 프로그램
복잡한 깃 사용법을 GUI로 구현 하여 쉽게 배울 수 있으나 자주 쓰이는 기본 기능 위주여서 고급 사용자에겐 부족
1.2.2 토터스 깃
윈도우 탐색기의 빠른 메뉴에 추가 되는 윈도우 전용 프로그램
1.2.3 소스트리
깃긔 기본기능부터 고급기능 까지 사용 할 수있는 프로그램
기능이 많아 사용법은 복잡
어느정도 익숙해지면 깃을 자유롭게 활용 가능
(소스 트리 사용법은 https://opentutorials.org/module/3802에서 참고)
1.3 커맨드 라인 인터페이스(CLI)
터미널 창에 명령을 직접 입력 해서 깃을 사용 하는 방식
리눅스 명령어과 깃 명령어에 익숙해져야 함
코드 편집기 프로그램과 터미널 창을 오가며 사용 해야 함
윈도우에서느 깃 배시 라는 프로그램을 별도로 실행 해야 함
VS에서는 확장 프로그램으로 추가 설치하여 사용 할 수 있다.
** 교재 다음 파트는 깃 설치후 환경 설정 끝내는 부분이지만 해당부분은 넘어가도록 하겠습니다.
필요하신 분들은 책을 구매 하시거나 이고잉님의 강좌를 확인 하시길 바랍니다.
*해당 문서는 고경희 님 이고잉 님께서 작성하신 책 5일 만에 끝내는 깃& 깃허브 입문 책을 읽고 이해한대로 요약한 정리입니다.
본 문서는 상업적인 목적으로 사용이 불가능 함을 고지 합니다. (개인 공부를 남기기 위한 목적임을 명백히 고지 합니다.)
'개발 > Git & GitHub' 카테고리의 다른 글
| [Git & Git Hub] 5. 커밋 내용 확인하기 (7) | 2025.08.12 |
|---|---|
| [Git & Git Hub] 4. 버전 만들기 (16) | 2025.08.12 |
| [Git & Git Hub] 3. 깃 저장소 만들기 (6) | 2025.08.11 |
| [Git & Git Hub] 2. 리눅스 명령어 연습하기 (5) | 2025.08.11 |