ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Git이란?
    Git 2022. 3. 20. 00:01
    728x90

    Git이란?

    Git이란 버전 관리 시스템(VCS, Version Control System)의 한 종류입니다.

    버전 관리시스템은 많은 것들이 존재하지만 그중에 가장 유명하고 가장 성공했습니다.

    버전 관리 시스템에 대해 먼저 알아보겠습니다.

    버전 관리 시스템이란?

    버전 관리 시스템(VCS, Version Control System)은 나중에 특정 버전을 불러올 수 있도록 시간 경과에 따른 파일 또는 파일 세트의 변경 사항을 기록하는 시스템입니다. 

     

    그래픽 또는 웹 디자이너이고 이미지나 레이아웃의 모든 버전(가장 확실히 원할 것)을 유지하려는 경우 VCS(버전 제어 시스템)를 사용하는 것이 매우 현명합니다. 이를 통해 선택한 파일을 이전 상태로 되돌리고, 전체 프로젝트를 이전 상태로 되돌리고, 시간 경과에 따른 변경 사항을 비교하고, 문제를 일으킬 수 있는 것을 마지막으로 수정한 사람, 문제를 도입한 사람 및 시기 등을 확인할 수 있습니다. VCS를 사용한다는 것은 일반적으로 문제를 망치거나 파일을 분실한 경우에도 쉽게 복구할 수 있음을 의미합니다.

    즉, 이러한 버전 관리를 편하게 해주는 시스템을 버전 관리 시스템이라고 합니다.

     

    Local Version Control Systems

    물론 우리가 어떤 문서를 버전 관리하고 싶을 때 .zip 파일 등으로 파일명이 version1, version 2, version3 이런 식으로도 관리할 수 있습니다.

    이를 통하면 특정 시점으로 돌아가 파일을 확인할 수 있습니다.

    이처럼 자신의 컴퓨터에서 version을 관리하는것을 로컬 버전 컨트롤 시스템이라 합니다.

    매우 간단하고 일반적이지만, 어떤 디렉토리에 있는지 잊어버리기 쉽고 실수로 잘못된 파일에 쓰거나 의도하지 않은 파일을 복사할 수 있습니다.

    로컬 버전 관리 시스템 (https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control)

    Centralized Version Control Systems

    또한 사람들이 직면하는 다음 주요 문제는 다른 시스템의 개발자와 협업해야 한다는 것입니다.

    이 문제를 해결하기 위해 중앙 집중식 버전 제어 시스템(CVCS)이 개발되었습니다.

    이러한 시스템(예: CVS, Subversion 및 Perforce)에는 버전이 지정된 모든 파일을 포함하는 단일 서버와 해당 중앙 위치에서 파일을 체크아웃하는 여러 클라이언트가 있습니다.

    수년 동안 이것은 버전 제어의 표준이었습니다.

    중앙 버전 관리 시스템(https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control)

    하지만 중앙에서 관리하는 서버이기 때문에 해당 서버가 한 시간 동안 다운되면 그 시간 동안 아무도 공동 작업을 하거나 작업 중인 모든 항목에 버전이 지정된 변경 사항을 저장할 수 없습니다. 

    중앙 데이터베이스가 있는 하드 디스크가 손상되고 적절한 백업이 유지되지 않으면 사람들이 로컬 컴퓨터에 가지고 있는 단일 스냅샷을 제외하고 프로젝트의 전체 기록을 완전히 잃게 됩니다.

     

    Distributed Version Control Systems

    Git이 사용하는 버전 관리시스템인 분산 버전 관리 시스템입니다.

    중앙 저장소와 더불어 Local 환경에서도 같이 관리하기 때문에 만약 서버에 문제가 생긴다면, 복제했던 것을 통해 다시 작업을 시작할 수 있습니다.

    또한 클라이언트 중에서 아무거나 골라도 서버를 복원할 수 있습니다.

    따라서 다양한 협업 시 주로 사용됩니다.

     

    Git vs GitHub

    간단히 말해 Git은 소스 코드 기록을 관리하고 추적할 수 있는 버전 제어 시스템입니다.

    GitHub는 Git 저장소를 관리할 수 있는 클라우드 기반 호스팅 서비스입니다.

    따라서 Git을 사용하는 오픈 소스 프로젝트가 있는 경우 GitHub은 이를 더 잘 관리할 수 있게 합니다.

     

     

     

     

     

     

    출처

    https://git-scm.com/book/en/v2

     

    Git - Book

     

    git-scm.com

     

    'Git' 카테고리의 다른 글

    Git 커밋 메시지 컨벤션  (0) 2022.06.20
    Git branch 전략이란?  (0) 2022.06.16
    Git 특정파일 히스토리 삭제  (0) 2022.06.01
    [Git] 소스 트리 다운로드 및 설치  (0) 2022.04.26
    .gitignore 란 무엇인가?  (0) 2022.03.10

    댓글

Designed by Tistory.