VCS

    [Version Control System] Git

    이전 포스트에서 설명했듯이 git은 분산 버전 관리 시스템입니다. 클라이언트가 단순히 파일의 마지막 스냅샷을 Checkout 하는 것이 아니라, 저장소를 버전의 히스토리와 더불어 전부 복제하여 사용합니다. 또한 Git은 GitHub와 같은 리모트 저장소를 통해서 다양한 협업이 가능합니다. 이번 포스트는 "ProGit" 책을 기준으로 작성하겠습니다. Git 기초 Git은 다른 VCS와 인터페이스는 비슷하지만, 정보를 취급하는 방식이 다릅니다. Git이 아닌 대부분의 VCS들은 각 파일의 변화를 시간순으로 관리하면서 파일들의 집합을 관리합니다. Git은 데이터를 스냅샷의 스트림처럼 취급합니다. 파일이 달라지지 않았으면 파일을 새로 저장하지 않습니다. 단지 이전 상태의 파일에 대한 링크만 저장합니다. 이로 인..

    [Version Control System] VCS

    Git을 설명하기에 앞서 버전 관리와 버전 관리 시스템이 무엇인지 살펴봅시다. 소스 코드의 관리를 기준으로 설명하겠습니다. Version Control? 버전 관리는 수정되는 소스 코드들에 버전을 부여해서 관리하는 것을 말합니다. 버전을 통해 관리하면서 소스 코드의 추적 및 관리가 용이해지며, 개인뿐 아니라 팀이 더 빠르고 스마트하게 작업할 수 있도록 도와줍니다. Version Control System? 버전 관리를 위해서 버전 관리 시스템을 사용하게 됩니다. VCS를 사용해서 이전 버전의 상태로 소스 코드를 되돌릴 수 있으며, 누가 언제 수정한 소스 코드가 문제인지 추적할 수 있습니다. VCS는 로컬, 중앙집중, 분산의 방법으로 버전을 관리하여 사용됩니다. Local VCS 로컬 버전 관리 시스템은 ..