버전 관리 이해하기
#버전 관리
빈번한 업데이트를 체계적으로 관리하려면 소스 코드에 언제, 어떤 변화가 있었는지 기록하고 추적하는 버전 관리가 필요합니다.
한 프로젝트에서 여러 개발자가 동시에 많은 기능을 추가하고 코들 변경합니다. 그러다 보면 소스 코드 파일을 둘 이상이 수정하여 의도하지 않게 코드가 덮어써지는 충돌이 발생하기도 합니다. 이러한 복잡한 상황을 체계적으로 관리하려면 버전 관리 시스템이 필요합니다.
■ 버전 관리 시스템
버전 관리 시스템을 이용하면 각 개발자가 원하는 시점에 버전을 지정하고 동료에게 공유할 수 있으며, 특정 버전으로 자유롭게 이동할 수 있습니다.
■ 분산형 버전 관리 시스템
분산형 버전 관리 시스템에서 원격 저장소(서버)는 개발자의 소스 코드와 버전 이력을 동기화하는 역할을 합니다. 즉, 개발자는 소스 코드뿐만 아니라 모든 버전의 이력을 얻을 수 있습니다. 이러한 환경에서는 원격 저장소가 동작하지 않거나 원격 저장소의 소스 코드에 접근할 수 없는 문제가 생겨도 각 개발자의 소스 코드와 버전 이력을 활용해 최신 버전을 복구할 수 있습니다.
분산형 버전 관리 시스템의 장점
- 원하는 버전 상태로 자유롭게 움직일 수 있다.
- 작업물의 변경 이력을 관리할 수 있다.
- 버전에 따라 수정 내용을 비교할 수 있다.
- 누가 문제를 일으켰는지 추적이 가능하다.
- 파일을 잃어버리거나 잘못 고쳤을 경우에도 쉽게 복구가 가능하다.
- 예상하지 못한 문제가 발생 시 빠르게 대처 가능하다.
■ GIT
깃은 가장 많이 사용되는 분산형 버전 관리 시스템입니다.
깃을 사용하면 좋은점
- 이력 기록 및 추적
누가, 언제 어떤 파일을 어떻게 수정했는지 변경 이록을 기록합니다. 상세 이력이 기록되기 때문에 프로젝트에서 발생하는 문제를 해결하는 데 도움이 됩니다. - 원격 저장소 및 공유
소스 코드뿐만 아니라 모든 변경을 분산 저장하기 때문에 원격 저장소에 문제가 생겨도 지역 저장소를 이용해 복원할 수 있습니다. - 변경 이력 병합
각 개발자가 다른 기능을 개발하더라도 동일한 소스 코드 파일을 변경하는 일이 빈번합니다. 깃은 소스 코드 파일에 대한 여러 변경 이력을 통합하는 기능을 제공합니다. 호스팅 서비스
깃은 깃허브의 호스팅 서비스를 제공합니다.공개 및 비공개 저장소
깃은 공개 저장소, 비공개 저장소를 지원합니다. 공개 저장소에 소스 코드를 업로드하면 누구에게나 공개되고, 비공개 저장소에 업로드하면 제한된 인원에게만 공개됩니다.- 고급 기능
github actob, github deployment api를 이용하면 빌드 및 자동화를 구성할 수도 있고, 프로젝트 보드를 이용해 협업 프로젝트를 관리할 수 있습니다.
출처
- 책 제목: 박미정의 깃&깃허브 입문, 저자:박미정
- [
버전관리를 해야하는 이유 및 여러가지 시스템](https://velog.io/@dev_2dong/%EB%B2%84%EC%A0%84%EA%B4%80%EB%A6%AC%EB%A5%BC-%ED%95%B4%EC%95%BC%ED%95%98%EB%8A%94-%EC%9D%B4%EC%9C%A0-%EB%B0%8F-%EC%97%AC%EB%9F%AC%EA%B0%80%EC%A7%80-%EC%8B%9C%EC%8A%A4%ED%85%9C)
This post is licensed under CC BY 4.0 by the author.