제품과 함께 지속적으로 업데이트되는 디자인시스템을 관리할 때 서로 다른 프로토타입에 대해 서로 다른 디자인시스템 버전을 사용하는 문제에 직면할 수 있습니다. 이상적으로는 라이브러리를 최대한 최신 상태로 유지하고 싶지만 디자인시스템 버전을 업그레이드할 시기를 제어할 수도 있겠죠.

이를 해결하기 위해 Merge의 버전 컨트롤 시스템은 각 프로젝트에 대한 라이브러리 버전을 관리할 수 있는 유연성을 제공합니다. 추가한 다른 버전 간에 자유롭고 쉽게 전환할 수 있습니다.

버전 컨트롤 옵션 (Version Control Options)

Merge에서는 주어진 프로젝트에 사용할 라이브러리 버전을 선택하는 방법에 대해 브랜치 (Branch)와 버전 태그 (Version Tag)의 두가지 옵션이 있습니다.

브랜치 (Branch)

Branch 기능으로 라이브러리 버전을 관리하는 경우 사용 중인 branch에 변경 사항이 있을 때만 프로토타입이 자동으로 업데이트됩니다.

태그 (Tag)

특정 버전 태그 (Version tag)를 선택하면 프로토타입이 항상 특정 버전을 참조하며, 라이브러리를 업데이트하더라도 프로토타입은 업데이트되지 않습니다. 태그 버전을 변경하거나 브랜치 (branch) 또는 최신으로 전환할 때만 업데이트됩니다.

<aside> 💡 비고 태그를 한 번만 푸시할 수 있으며 동일한 태그를 사용하여 컴포넌트 라이브러리를 UXPin에 다시 푸시할 수 없습니다. 꼭 새 태그를 지정해야 합니다.

</aside>

브랜치 vs. 태그?

디자인시스템을 적극적으로 변경하는 과정에 있고 변경 사항을 테스트하기 위해 푸시할 때마다 태그를 계속 변경하고 싶지 않다면 브랜치 (Branch)를 사용하는 것이 좋습니다.

디자인시스템 버전에 대한 더 많은 제어를 원한다면, 태그를 통해 디자인시스템 버전을 업그레이드할 시기를 완벽하게 제어할 수 있습니다.

항상 최신 디자인시스템 버전 사용

또한, 항상 최신 버전의 디자인시스템을 적용하려면 라이브러리의 설정에 항상 최신버전만 적용할 수 있는 체크박스가 있습니다. 최신 옵션을 사용하면 항상 최신 버전의 브랜치를 참조하므로 라이브러리에 변경 사항이 있을 때마다 프로토타입이 자동으로 업데이트됩니다.

라이브러리에 태그 버전 추가

CLI에서 푸시할 때 --tag 옵션을 지정합니다.

npx uxpin-merge push --token TOKEN --tag VERSION

라이브러리에 브랜치 버전 추가