버전 관리

소개

버전 관리를 사용하면 프로젝트의 사용자(들)가 Control FPWIN Pro7 프로젝트의 전체 개정 기록을 내비게이터의 오브젝트처럼 세분화하여 특수 데이터베이스(프로젝트 리포지토리)에 저장할 수 있습니다. 이 프로젝트 리포지토리는 프로젝트의 현재와 과거의 개발 현황(개정)을 담고 있는 프로젝트의 변함 없는 공식 소스입니다. 각각의 개정본에는 이전 개정본과 비교하여 변경된 사항들이 일관되게 기록되어 있습니다. 언제든지 전체 개정 내역을 개정 번호, 날짜 및 시간, 작성자 및 코멘트별로 검사, 정렬, 필터링할 수 있습니다. 변경 사항을 점검하고 개정 내용을 서로 비교하고 과거의 개정 사항을 다시 생성할 수 있으며 프로젝트 개발 시 태그와 분기가 가능합니다. 이 프로젝트의 사용자(들)는 프로젝트 리포지토리의 현재 개정본("팁")을 통해 자체 로컬 작업 복사본을 만들고, 로컬에서 변경을 하고 이를 테스트하며, 그 변경 내용을 프로젝트 리포지토리에 커밋해서 새 개정본을 만들며, 이것을 다른 사용자의 작업 복사본에 업데이트할 수 있습니다. 버전 관리를 받는 프로젝트 내 모든 사용자 라이브러리도 마찬가지입니다.

따라서 버전 관리 프로젝트를 사용하면 여러 사용자의 동일한 프로젝트나 사용자 라이브러리에 있는 오브젝트를 변경할 수도 있습니다. 기존 프로젝트나 사용자 라이브러리는 "작업 복사본"이라는 프로젝트의 "미러"로 완전히 분할되어 별도의 버전 관리 폴더에 저장됩니다. 프로젝트 파일과 프로젝트 작업 복사본은 모두 같은 이름을 사용하며 Control FPWIN Pro7와 연결되어 있습니다. 둘 다 일반적으로 동일한 구성 데이터를 담고 있지만, 작업 복사본에는 내비게이터를 통해 알려진 세부 구조가 포함된 상세한 오브젝트 구조와 프로젝트 파일과 달리 대부분 사람이 읽을 수 있는 파일이 포함되어 있습니다. 이 같은 폴더 및 파일 구조는 버전 관리와 멀티 유저 개발을 가능하게 하기 위해 만들어졌습니다.

사용자 라이브러리와 그 작업 복사본은 같은 이름을 사용합니다. 이 둘의 연결은 프로젝트 작업 복사본의 "Libraries" 폴더에 바로 위치해 있는 사용자 라이브러리의 작업 복사본에 의해 구현됩니다.

또한 작업 복사본과 프로젝트 또는 사용자 라이브러리는 가시적인 사용자 상호 작용 없이 자동으로 동기화됩니다. Control FPWIN Pro7에서 변경된 오브젝트를 저장하면 해당 작업 복사본에서 해당 오브젝트의 파일을 실시간으로 업데이트할 때 반영됩니다. 사용자가 프로젝트 또는 사용자 라이브러리 리포지토리에 저장된 최신 변경 내용으로 로컬 작업 복사본을 업데이트하면 Control FPWIN Pro7이 (일반적으로) 열린 프로젝트 또는 사용자 라이브러리에 최근 변경 사항을 자동으로 반영합니다.

반면에 프로젝트 또는 라이브러리 리포지토리에서 로컬 작업 복사본으로 새 데이터를 전송("업데이트")하고 변경된 데이터를 작업 복사본에서 프로젝트 또는 라이브러리 리포지토리로 저장("커밋")하는 작업은 Control FPWIN Pro7 외부에서 수동으로 수행됩니다. 왜냐하면 Control FPWIN Pro7은 프로젝트나 라이브러리 리포지토리, 또는 사용자가 사용하기로 결정한 외부 버전 관리 소프트웨어가 아닌 작업 복사본(사용되는 외부 소프트웨어와는 독립됨)만 인식하기 때문입니다.

별도의 버전 관리 소프트웨어(예: Apache subversion 또는 TortoiseSVN)(Control FPWIN Pro7 설치 시 제공되지 않음)가 있으면, 작업 복사본과 이 프로젝트 또는 라이브러리의 해당 리포지토리 사이에서 양방향으로 데이터를 교환하기 위해 모든 버전 관리 기능들을 사용할 수 있습니다. 단, 이 작업은 Control FPWIN Pro7 외부에서 직접 수행해야 합니다. 선택한 버전 관리 도구의 해당 도움말 파일을 참조하십시오.

제한 사항

데이터의 어떤 부분은 너무 작거나 상호 의존 관계가 너무 많기 때문에 Control FPWIN Pro7 프로젝트의 데이터에서 분리된 모든 부분이 작업 복사본에서 독립적이고 분리할 수 있는 오브젝트로 구성되어 있지는 않습니다. 특히 보안 암호나 태스크 리스트를 사용하는 경우, 동료들로 구성된 팀 내에서 프로젝트 설정과 같은 특수 데이터를 처리하는 방법을 미리 생각하거나 계획하십시오.

POU, DUT 및 태스크처럼 분리가 가능한 오브젝트는 다음과 같이 처리됩니다.

다음 오브젝트와 그 하위 노드들은 선택한 PLC의 의존하므로 분리할 수 없는 것으로 간주됩니다.

이 오브젝트와 그 하위 노드는 작업 복사본과 프로젝트 리포지토리에서 프로젝트 루트 오브젝트에 대해 싱글톤 파일 "Project.asc"에 속하며 이 파일로 표시됩니다.

[프로그램 코드] 오브젝트는 다른 오브젝트가 변경되고 프로젝트가 다시 컴파일될 때마다 변경되므로 버전 관리가 되지 않습니다.

버전 관리의 개념 이해

프로젝트 리포지토리(그리고 로컬 작업 복사본)에서 분리 가능한 오브젝트를 식별하고 구조화하고 분리하기 위해, Control FPWIN Pro7 프로젝트의 내비게이터에 있는 오브젝트(노드)는 폴더/파일 구조에 매핑되어 있으며 이는 외부의 버전 관리 시스템을 위한 필수 구성 요소입니다.

이 폴더/파일 구조는 Control FPWIN Pro7에 프로젝트를 저장할 때마다 데이터의 대상이 됩니다. 또한 외부 버전 관리 시스템이 이 구조에서 커밋을 하거나 이 구조로 업데이트하기도 합니다. 이 구조는 최소한 사용자가 프로젝트 또는 라이브러리에 명시적으로 추가하거나 변경한 모든 데이터와 정보를 포함해야 합니다.

반대로, 이 구조는 포함된 사용자 라이브러리로(그것이 버전 관리가 되든 안 되든) 열린 Control FPWIN Pro7 프로젝트를 생성하거나 수정하는 인버스 업데이트(가져오기) 프로세스의 원본이 되어야 합니다.

사용자가 프로젝트를 생성하면 폴더/파일 구조에 있는 유효하고 인식되는 모든 파일들에 대해 일정한 순서로 이 업데이트가 수행될 것입니다.

사용자가 프로젝트를 수정하거나 업데이트하면, 열린 Control FPWIN Pro7 프로젝트로 가져오는 작업도 점진적으로 수행되거나 분리 가능한 오브젝트의 파일들로 구성된 하위집합이나 하나의 파일에 대해서만 수행될 수 있습니다. 이렇게 되면 일반적으로 이 프로젝트에 있는 동일한 오브젝트의 개정본이 완전히 대체됩니다.

버전 관리 프로젝트와 버전 관리되지 않는 프로젝트 처리의 차이점

프로젝트의 버전을 관리할 때 다음과 같은 차이점이 적용됩니다.

이전에 버전 관리된 프로젝트 다시 열기

특정 프로젝트에서 버전 관리가 비활성화되면 작업 복사본이 삭제되지 않습니다. 따라서 이 프로젝트에서 버전 관리가 다시 활성화되면 Control FPWIN Pro7은 사용자가 이전 작업 복사본을 삭제할 수 있다고 확인한 경우 작업 복사본을 삭제하고 현재 프로젝트에서 다시 새로 만듭니다.

최종 수정일: 2023-11-23이 페이지에 대한 피드백Panasonic 직통 전화