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 |
댓글