본문 바로가기
[GIT]

[GIT] git 개요

by 북방바다코끼리표범 2023. 8. 7.

 

GIT

: 리눅스의 창시자인 리누스 토발즈가 Linux 커널을 관리할 목적으로 개발.

- 분산형 버전 관리 시스템

- 필요성 : 소스 코드, 작업물 등을 관리하기에 편리함

 

버전 관리 시스템(Version Cintrol System)

: 사용자 프로젝트에 포함된 파일의 변경 내역을 추적할 수 있게 하는 도구, 방법론

  • 기존 버전 관리 시스템은 중앙 서버에 소스코드와 history를 직접 저장하는 방식
  • 분산 버전 관리 시스템은 여러 개발 pc와 저장소에 분산해서 저장하는 방식

 

중앙집중식 버전관리 - SVN(Subversion)

- 중앙 서버에 소스 코드와 histoty를 직접 저장하는 방식

단점

- 각 개발자만의 history를 관리할 수 없다

- commit된 내용에 실수가 있을 시, 서버의 다른 개발자에게 바로 영향을 미침

→ 중앙 서버 문제생기면 협업 x

 

분산형 버전 관리 시스템 - DVCS, GIT

- 여러 개발 pc와 저장소에 분산해서 저장하는 방식

장점

- 모든 작업자가 원본 가질 수 있음

→ 개별 history 관리 가능

- 네트워크 사용 못하는 상황에도 대부분의 작업 가능

 

소프트웨어 형상 관리 (SCM, Software Configuration Manangement)

- sw 개발, 유지보수 과정에서 발생하는 각종 결과물에 대한 형상을 만들고, 형상에 대한 변경을

  체계적으로 관리, 제어 하기 위한 활동

 

깃허브(GitHub)

- git 을 기반으로 소스코드를 호스팅, 협업 기능 지원하는 웹 서비스

 

Git 저장소(repository)

 

1 원격 저장소 (Remote Repository)

- GitHub 등 전용 서버에서 관리되는 저장소

- 여러사람이 함께 공유하기 위한 저장소

 

2 로컬 저장소 (Local Repository)

- 내 pc에 파일 저장, 개인 전용으로 사용하는 저장소

 

 

반드시 기억해야 할 파일의 3가지 상태 - 논리적인 구분