본문 바로가기
Git & GitHub

Git 입문

by danny-j 2022. 11. 16.

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

  • 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 불러올 수 있는 시스템을 의미
  • 선택한 파일을 이전 상태로 되돌릴 수 있음
  • 변경 사항을 비교하고, 변경한 사람 및 변경시기를 추적할 수 있음
  • 소프트웨어 형상관리
    • 소프트웨어 개발 및 유지 보수 과정에서 발생하는 소스 코드, 문서 등의 생성, 변경 이력, 삭제 이력 등을 관리

Local Version Control

 

  • 로컬 버전 관리 시스템은 이름 그대로 로컬에서만 동작
  • 다른 개발자와 협업을 해야 하는 상황에서는 로컬 버전 관리 시스템으로의 버전 관리가 쉽지 않음
  • 잘못되기 쉬움(ex. 작업하던 디렉토리를 지워버리거나, 실수로 파일을 잘못 고칠 수도 있고, 잘못 복사할 수도 있음)

 

Centralized Version Control(중앙 버전 관리 시스템)

 

  • 서버가 별도로 있고 클라이언트가 중앙 서버에서 파일을 받아서 사용(Checkout)하는 방식
  • 로컬 VCS보다 관리가 쉽다는 장점이 있지만 중앙 서버에 문제가 발생한다면 치명적
  • Offline에서 인터넷이 없을 때 작업을 못하는 단점이 있음

 

Distributed Version Control(분산 버전 관리 시스템)

 

  • 모든 클라이언트들이 서버의 백업본을 로컬에 가짐
  • 서버에 문제가 생겨도 문제가 복원과 작업이 가능
  • Offline에서 작업 가능
  • 중앙 집중 버전 관리 시스템에 비해 복잡하고, 동기화 문제가 있다는 단점이 있음

 

Git

  • VCS(Version Contorl System)의 DVC 중 하나
  • 버전을 편리하게 관리할 수 있도록 도와주는 도구
  • 작업중인 파일들을 원하는 순간으로 다시 돌아갈 수 있게 도와줌
  • 명령어를 기본으로한 명령어 프로그램
  • GUI도 많음
    • Source Tree - UI는 클래식하지만 다양한 기능을 포함하고 있어서 많이 사용됨
    • Gitkraken - 화려한 UI
  • 명령어를 기본으로 한 프로그램이기때문에 입문은 Terminal을 추천
  • 기본 Terminal 보다 iTerm2(mac), cmer(window) 추천

 

참고 - https://git-scm.com/book/en/v2/Getting-Started-About-Version-Control

'Git & GitHub' 카테고리의 다른 글

Git 실습2  (0) 2022.11.17
Git 실습  (0) 2022.11.17
Git Workflow  (0) 2022.11.16
Git 초기화 / 삭제  (0) 2022.11.16
Git 초기 셋팅  (0) 2022.11.16

댓글