버전 관리는 이름에서 알 수 있듯이 개발 팀이 프로젝트 또는 데이터 리포지토리의 어떤 버전이 프로젝트의 마스터 버전인지 관리하고, 버전 간의 모든 변경 사항을 추적하고 타임 스탬프를 지정할 수 있는 기능을 제공합니다. 버전 관리 시스템은 대부분의 PCB 설계자에게 익숙한 구식 방식인 복사, 붙여넣기, 압축 및 이메일 전송 단계 없이 전체 코드 베이스를 추적하고 유지 관리하는 데 유용합니다. 프로젝트 복제 및 코드 리포지토리에서 수정 기록을 생성할 수도 있습니다.
하드웨어 설계자는 하드웨어 프로젝트에 버전 관리 시스템을 어떻게 활용할 수 있을까요? 외부 버전 관리 시스템은 워크플로에 파일을 체크아웃하고, 수정하고, 개정판을 버전 관리로 다시 커밋해야 하는 등 추가 단계를 포함합니다. Altium Designer 사용자는 Altium 365의 동기화 기능을 활용하여 관리형 클라우드 플랫폼에서 버전 관리 시스템을 미러링할 수 있습니다. 사용자는 외부 SVN 또는 Git 리포지토리를 Altium 365의 버전 관리 시스템으로 마이그레이션할 수도 있습니다.
여러 설계자와 이 주제에 대해 이야기를 나눈 결과, 저는 대기업들이 프로젝트, PCB 문서, 회로도, 라이브러리 및 PCB 설계 프로젝트에 필요한 모든 정보를 카테고리화하고 정리하는 흥미로운 방법을 보유하고 있다는 것을 알게 되었습니다. 아마도 설계 데이터를 정리하는 가장 일반적인 두 가지 방법은 프로젝트별로 정리하거나 파일 유형 및 부품/프로젝트 번호별로 정리하는 것일 겁니다. 어쨌든 버전 관리 시스템이 없다면 아마도 팀은 폴더 어딘가에 대량의 프로젝트 그룹을 보관하고 있을 가능성이 높습니다.
하드웨어와 PCB 프로젝트를 버전 관리 시스템에 보관하는 것이 좋은 경우가 몇 가지 있습니다.
버전 관리 시스템은 이러한 모든 작업을 능률적으로 처리하는 데 도움이 됩니다. PCB 설계 팀은 어떤 버전 관리 시스템을 사용할지만 선택하면 됩니다. Altium Designer 사용자는 Altium 365에 내장된 Git 리포지토리를 사용할 수 있습니다.
Altium 365에서 내부 버전 관리 시스템을 사용하면 Altium Designer에서 버전 관리 중인 모든 프로젝트를 직접 동기화하고 열 수 있다는 이점이 있습니다. 수동 파일 체크아웃 과정이 필요 없으며 프로젝트 수정 사항을 클릭 몇 번으로 Altium 365에 다시 동기화할 수 있습니다. 또한 PCB 프로젝트의 모든 데이터를 Altium 365로 동기화하고 마이그레이션할 수 있습니다.
그러나 외부 버전 관리 시스템을 구비하는 것이 중요한 경우도 있습니다. PCB 설계 프로젝트는 매우 복잡할 수 있으며 단지 회로 기판 이상의 것일 수 있습니다. 기계 장치, 각종 문서, 임베디드 소프트웨어/펌웨어 코드 및 Altium 365에서 아직 관리 개체로 존재하지 않는 기타 필수 요소까지 포함될 수 있습니다. 기업이 설계에 필요한 기밀 데이터를 이용해 작업을 수행할 때 직접 관리하지 않는 서버에 데이터를 저장하는 것이 금지된 상황도 있습니다. 그런 경우에는 관련 PCB 프로젝트 데이터만 동기화하고 나머지 데이터는 외부 리포지토리에 보관하는 것이 최선입니다.
버전 관리 시스템과 함께 Altium Designer를 사용해 본 적이 있다면 프로젝트 폴더에 숨겨진 '.git' 폴더를 발견한 적이 있을 겁니다. 이 폴더는 Altium Designer가 프로젝트에 대한 버전 관리 시스템이 활성화되었음을 알리는 신호입니다. 이 '.git' 폴더가 프로젝트 폴더에서 인식되는 즉시 Altium Designer는 Simple Sync 모드로 전환되고 Altium 365로 다시 동기화할 준비를 합니다.
버전 관리를 로컬로 동기화하는 데는 몇 가지 옵션이 있습니다.
.git 폴더를 로컬로 생성하려면 프로젝트 폴더에서 다음 Git Bash 명령줄 항목을 사용합니다.
TortoiseGit 또는 다른 도구를 사용하여 로컬 .git을 생성합니다. 폴더
프로젝트 패널에서 '온라인 사용 가능' 명령 사용
Altium Designer에서 프로젝트를 열면 '.git' 폴더가 Simple Sync를 실행합니다. 이후 표준 Push and Commit 명령을 사용하여 프로젝트를 Altium 365의 정식 버전 관리에 배치할 수 있습니다. 이러한 리포지토리는 외부 버전 관리 도구를 사용하여 로컬에서 일괄적으로 생성할 수 있으며 필요에 따라 Altium 365 Workspace에 다시 동기화할 수 있습니다.
관리되는 프로젝트를 Altium Designer에서 열면 파일은 동일한 방식으로 내부 또는 외부 버전 관리에서 체크아웃됩니다. 이는 외부 VC에 대량의 데이터를 보관하고 있는 기업이 Altium 프로젝트를 기본 버전 관리 시스템과 동기화할 수 있어 매우 유용한 방법입니다. 그러나 Altium 365의 버전 관리 시스템으로 완전히 마이그레이션하려는 경우, 다음과 같은 몇 가지 방법을 사용할 수 있습니다.
프로젝트의 버전 관리를 비활성화하는 가장 간단한 방법은 프로젝트 폴더에서 .git 폴더를 삭제하는 것입니다. 유감스럽게도 이 방법은 모든 수정 내역이 제거되므로 외부 버전 관리 시스템에서 프로젝트를 가져올 수 있는 가장 깔끔한 방법은 아닙니다.
외부 시스템에서 프로젝트를 가져오면 위에 나열된 옵션을 사용하여 Altium 365의 내부 버전 관리 시스템에 즉시 프로젝트를 입력할 수 있습니다. 다음 순서에 따라 Project Packager를 사용하는 것이 아마도 가장 좋은 옵션일 것입니다.
Project Packager는 버전 관리의 번거로움 없이 프로젝트의 스냅샷을 생성합니다. 또한 이전에 Workspace에서 작업 가능했던 프로젝트에 대한 링크도 모두 제거됩니다.
이제 이전 리포지토리에서 프로젝트를 삭제하거나 리포지토리를 완전히 중단할 수 있습니다. 프로젝트와 관련이 있을 수 있으나 Altium Designer의 작업과 관련이 없는 다른 용도로 이 리포지토리를 에 남겨둘 수도 있습니다.
마지막으로 버전 관리 시스템 간에 모든 것을 동기화하는 모험을 원한다면 미러링을 수행하는 스크립트를 작성해야 합니다. Ari Mahpour는 Altium Designer 사용자를 위한 Git 기반 워크플로를 생성하는 방법에 대해 다음과 같은 훌륭한 글을 기꺼이 작성해 주었습니다.
위의 모든 내용은 Git 측면에서 제시되었지만 버전 관리가 가능한 관리형 SVN 리포지토리를 생성할 수도 있습니다. 자세한 내용은 이 설명서의 가이드를 참조하세요.
오늘날의 PCB 제조업체와 PCB 설계자는 Altium 365™ 플랫폼을 사용하여 프로젝트 데이터를 공유하고 쉽게 협업할 수 있습니다. PCB 설계 팀은 내부 버전 관리 기능을 사용하여 설계 데이터를 관리할 수 있으며 모든 것이 Altium Designer®의 세계적 수준의 설계 도구와 통합됩니다. Altium 365를 사용하면 안전한 환경에서 다른 설계자, 제조업체 및 고객과 프로젝트 데이터를 공유할 수 있습니다.
Altium 365에서 Altium Designer로 할 수 있는 작업은 이보다 훨씬 많습니다. 제품 페이지에서 자세한 기능 설명을 읽어 보거나 On-Demand 웨비나 중 하나를 확인해 보세요.