[Git] Git과 GitHub는 무엇일까?

이태권 (Taekwon Lee)·2022년 6월 2일
0

[Git]

목록 보기
1/2
post-thumbnail

📝 1. Git

git의 정의 : DVCS

git 홈페이지에 들어가 보면, git에 대한 정의가 첫 줄부터 나와 있다.

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

Git이란 빠르고 효율적으로 소규모부터 대규모 프로젝트까지 모든 걸 다룰 수 있도록 설계된 무료, 오픈 소스 분산 버전 관리 시스템이다.

여기서 분산 버전 관리 시스템(distributed version control system, DVCS)에 주목하자!

  • 분산 버전 관리 시스템(Distributed Version Control System)
  • 말 그대로 디렉토리나 파일, 프로그램 등의 버전을 분산된 형태로 기록하고 보관하는 시스템이다.
  • 쉽게 말하여, 변경 사항을 추적하는 시스템이다.

version?

그렇다면 버전은 무엇일까?

  • 네이버 국어사전에 찾아 본 결과, 아래와 같은 결과가 나왔다.
  • 여기에서 버전은 1번을 나타낸다.
  1. 어떤 소프트웨어가 몇 번 개정되었는지를 나타내는 번호.
  2. 한 소프트웨어를 서로 다른 시스템 환경에서 사용할 수 있도록 각각 제작된 프로그램을 이르는 말.

git의 필요성 및 장점

  • 그렇다면 왜 굳이 git을 통하여 버전을 관리하는 것일까?
  • 혼자 모든 프로젝트를 도맡아서 한다면 필요가 없을 수도 있다.

가정

하지만 여러 명으로 구성된 한 팀이 하나의 프로젝트를 다룬다고 하자.

문제점

팀원끼리 분업 및 협업을 하여 작업을 할텐데,

  • 팀원이 작성한 각각의 파일을 매번 수정할 때마다 버전이 업데이트 되어 수정해야 한다.
  • 이를 어떻게 관리하고 서로 공유할 것인가?
  • 업데이트 파일을 일일이 USB나 이메일, 메신저로 주고 받을 것인가?
  • 생각만 해도 골치가 아프다.

해결책

이를 Git을 통하여 서로 버전을 관리할 수 있다.
(다른 DVCS도 있지만 제일 대중적으로 Git이 쓰인다)

장점

  1. 프로젝트의 변경 사항을 기록 가능하다.
  2. 특정 시점의 버전으로 언제든 돌아갈 수 있다.
  3. 많은 사람이 하나의 프로젝트에 효율적으로 협업할 수 있다.

📝 2. GitHub

정의

위키피디아에 나와 있는 GitHub의 정의를 보자.

GitHub, Inc. is a provider of Internet hosting for software development and version control using Git.

GitHub는 Git을 이용하여 소프트웨어 개발과 버전 관리를 위한 인터넷 호스팅 제공업체이다.

즉, Git을 이용하여 하나의 프로젝트를 두고 여러 명이 협업하여 운영이 되는 대표적인 작업 공간이다.

  • Git을 사용한 프로젝트의 저장소 (다른 것도 있으나 GitHub가 제일 대중적)
  • 개발자들의 소셜 네트워크 서비스의 역할도 한다.

🔖 참고 자료

profile
(Backend Dev.) One step at a time

0개의 댓글