본문 바로가기

지식창고/git

깃, 깃허브란 무엇인가? (git, github)

반응형

안녕하세요

 

이번 시간에는 깃과 깃허브에 대한 개념을 알아보려고 합니다.

 

그럼 시작하겠습니다.


깃, 깃허브란 무엇인가?

깃(Git)

  • 깃(Git)은 분산형 버전 관리 시스템(Version Control System)의 한 종류라고 보면 됩니다.
  • 버전 관리는 파일들을 복사, 백업, 저장 등을 해서 관리하는 것을 의미합니다. 이러한 버전 관리는 크게 1) 클라이언트-서버 모델(CVS, SVN 등)과 2) 분산 모델, 두 가지로 나눠서 볼 수 있습니다. 깃(Git)은 분산 모델에 속합니다.
  • 깃(Git)의 장점은 별도로 주고 받는 작업 없이 같은 파일을 여러 명이 동시에, 즉 병렬 개발이 가능합니다. 두 번째 장점으로 작업한 파일에 대한 변경된 정보를 실시간으로 저장해 줍니다. 마지막 장점으로 같은 파일에 대한 각각 다른 버전을 보관할 수 있다는 점입니다.

 

깃허브(Github)

  • 깃허브(Github)는 Git을 지원하는 웹 호스팅 서비스 시스템(클라우드)의 한 종류라고 보면 됩니다. 즉 내 컴퓨터에 있는 깃의 히스토리(기록)를 가져와서 깃허브 웹사이트(클라우드)에 올릴 수 있고 변경된 히스토리를 확인할 수 있습니다.
  • 사실 이러한 서비스를 하고 있는 것이 깃허브뿐만 있는 것이 아닙니다. Gitlab과 bitbucket 등도 있습니다. 가장 유명한 것은 깃허브(Github)입니다.
  • 깃허브(Github)의 장점으로 굉장히 많은 오픈소스들을 열람할 수 있다는 점도 있습니다.

 

깃(Git)의 기본적인 용어들
  • Repository : 저장소를 의미합니다. 저장소는 히스토리, 태그, 소스의 Branch에 따라 버전을 저장합니다. 저장소를 통해서 작업자가 변경한 모든 히스토리를 확인할 수 있습니다.
  • Working Tree : 저장소를 어느 한 시점을 바라보는 작업자의 현재 시점을 의미합니다.
  • Staging Area : 저장소에 커밋하기 전에 커밋을 준비하는 위치입니다.
  • Commit : 현재 변경된 작업 상태를 점검을 마친 뒤 확정하여 저장소에 저장하는 작업을 의미합니다.
  • Head : 현재 작업중인 Branch를 의미합니다.
  • Branch : 분기점을 의미합니다. 복사하여 Branch에서 작업을 한 후 완전할 경우 Merge를 합니다.
  • Merge : Branch의 내용을 현재 Branch로 가져와 합치는 작업을 의미합니다.

 

여기까지 읽어주셔서 감사합니다.

좋은 하루 보내세요.

반응형