[Git 사용법] 1장. Git이란 무엇인가?

프시케
4 min readDec 31, 2017

--

만약에 당신이 한글 문서 파일을 하나 작성하고 있다고 가정하자. 하지만 이 한글 문서는 당신만이 쓰지 않고, 팀 단위로 작성되고 있는 파일이라고 하자.

  1. 이 한글 문서를 빠르게 작업하고자 팀원들이 동시 작업을 한다면, 이 문서는 어떻게 관리되어야 되겠는가?
  2. 팀원이 동시에 작업한다면, 이 문서는 하루가 다르게 업데이트가 될 것이다. 매일, 또는 시간 단위로 업데이트되는 파일을 팀원과 어떻게 공유할 것인가?
  3. 팀원 중 누군가가 잘 못 작업하여 특정 부분을 덮어 썼거나, 업데이트하지 못하고 이전 버전의 문서로 작업을 했을 경우를 대비하여 어느시기에 백업을 해둘 것인가?
  4. 팀원 중 누가 어느 부분을 작성하였는지 알기 위해서, 또 다른 문서화된 파일을 만들어야 되는가?

일반적으로 보안을 위해 LAN(Local Area Network, 좁은 지역 단위의 네트워크)을 통해, 또는 클라우드 서비스를 이용하여 팀원과 문서를 공유하면서 버전 관리를 할 것이다. 하지만, 이를 적절한 유저 인터페이스와 함께 위 질문에 모두 대답할 수 있는 기능을 개발자에게 제공하는 시스템이 있다. 그것이 바로 Git이다!

도대체 Git은 무엇인가?

깃(Git /ɡɪt)은 프로그램 등의 소스 코드 관리를 위한 분산 버전 관리 시스템이다. (- 위키백과 -)

여기서 어려운 말로 Git을 분산 버전 관리 시스템이라고 표현하였다. 분산 버전 관리 시스템을 쉽게 말하면, 여러명의 개발자(분산)가 특정 프로젝트를 자신의 컴퓨터로 협업하여 개발하면서 버전을 관리할 수 있는 시스템이다. 최근에 개발자라면 너도나도 다 Git 아이디를 가지고 있으며, 대부분의 회사에서도 채용할때 Git 아이디를 요구하는 회사들이 늘어났다. 이는 어떤 프로젝트를 해봤는지 코딩 능력을 보려고 하는 의도도 있지만, 협업을 해야되는 회사에서 협업 경험과 Git에 대한 숙련도를 보기 위함이 크다.

Git은 어떤 방식으로 버전 관리를 하는가?

Git은 중앙 서버 컴퓨터와 여러개의 컴퓨터들이 연결되어 모두 같은 버전의 데이터베이스를 유지한다. 이 버전은 업데이트가 될 때마다 자동으로 생성된다. 따라서 이 파일들은 최신버전으로 모든 컴퓨터에서 유지될 수 있을 것이다.

컴퓨터 A에서 업데이트한 것을 중앙 서버에 올리면 버전이 업데이트 되고, 컴퓨터 B는 이를 중앙 서버 컴퓨터로부터 최신화시키면서 버전과 파일을 모두 컴퓨터 A와 동일하게 유지할 수 있다.

이와 같이 작동하는 방식을 우리는 분산 버전 관리 시스템이라고 한다.

Git이 작동하는 방식을 알게되었다. 이는 아직 이해하지 못해도 상관없다. 이포스팅을 이어서 많은 예제를 통해서 실습을 진행할 예정이다.

Git을 사용하기 전에

우리는 Git이 뭔지, 어떻게 작동하는지 대강 알아봤다. 그래, 그러면 그 좋다하는 Git 어떻게 사용하는 건가? Git은 소프트웨어이다. 그렇다. 다운로드 받아야된다. 아래 주소를 통해서 다운로드 받을 수 있다.

https://git-scm.com/downloads

Git CLI(Command Line Interface, 명령 줄 인터페이스)를 설치하는 과정이다. 자신 컴퓨터에 맞는 Git을 설치하면 된다. 여기서 CLI란, Windows 운영체제에서의 CMD, Mac OS나 Linux 운영체제에서의 Terminal 등에서 명령어를 통해 제공되는 여러가지 기능을 담은 소프트웨어라고 생각하면 된다. GUI(Graphic User Interface, 그래픽 사용자 인터페이스)를 사용할 수 있지만, 이는 CLI에 비해 제한된 기능만을 제공하므로, 우리는 앞으로 CLI를 이용하여 진행할 것이다. 앞으로 Windows의 CMD, Mac OS나 Linux의 Terminal 등을 자주 사용하게 될 것이다. 일단 Git CLI를 설치하고 CMD나 Terminal을 한 번 실행시켜보길 바란다. 다음 포스팅에서부터 CMD나 Terminl와 같은 CLI를 이용하여 Git을 사용해보는 방법을 제대로 알아볼 것이다.

--

--