다음 칼럼에서는 composer tutorial을 통해 브랜치 별칭을 사용하는 이유를 소개하겠습니다. 필요한 친구들에게 도움이 되길 바랍니다!
별칭을 사용하는 이유는 무엇인가요?
버전 관리 시스템 저장소를 사용하면 2.0이나 2.0.x와 같이 버전처럼 보이는 브랜치에서만 비슷한 버전을 얻을 수 있습니다. 마스터 브랜치의 경우 하나의 dev-master 버전만 얻을 수 있습니다. bugfix 브랜치의 경우 dev-bugfix 버전을 받게 됩니다.
마스터 브랜치가 1.0.1, 1.0.2, 1.0.3 등과 같이 1.0의 개발 프로세스를 표시하는 데 사용되는 경우 라이브러리에 의존하는 패키지에는 1.0.*이 필요할 수 있습니다.
누군가 최신 dev-master를 사용하려는 경우 문제에 직면하게 됩니다. 일부 패키지에는 1.0.*이 필요할 수 있으므로 dev-master가 1.0.*과 일치하지 않기 때문에 이 두 패키지는 충돌을 일으킬 것입니다.
위 내용을 바탕으로 별칭이 등장했습니다.
Branch Alias
dev-master 브랜치는 주요 VCS 저장소 중 하나입니다. 일부 사람들은 최신 주요 개발 버전을 원하는 것이 일반적입니다. 따라서 Composer를 사용하면 dev-master 분기의 별칭을 1.0.x-dev 버전으로 지정할 수 있습니다. Composer.json의 Branch-alias 아래에 추가 필드를 지정하면 됩니다.
{ "extra": { "branch-alias": { "dev-master": "1.0.x-dev" } } }
별칭이 비교할 수 없는 버전(예: dev-develop)인 경우 브랜치 이름 앞에 dev- 를 붙여야 합니다. 유사한 버전에 대해 별칭(즉, 숫자로 시작하고 .x-dev로 끝나는)을 추가할 수도 있지만 더 구체적인 버전으로만 추가할 수 있습니다. 예를 들어, 1.x-dev는 1.2.x-dev로 별칭이 지정될 수 있습니다.
별칭은 비슷한 개발 버전이어야 하며, 분기 별칭은 참조하는 분기에 나타나야 합니다. dev-master의 경우 master 브랜치에 커밋해야 합니다.
이제 많은 사람들에게 1.0.*이 필요하며 그는 기꺼이 dev-master를 설치해 줄 것입니다.
브랜치 별칭을 사용하려면 별칭이 지정된 패키지에 대한 저장소가 있어야 합니다. 포크를 유지하지 않고 타사 패키지에 별칭을 추가하려면 아래 설명된 대로 인라인 별칭을 사용하세요.
인라인 별칭 필요
분기 별칭은 주요 개발 라인에 매우 유용합니다. 하지만 이를 사용하려면 소스 저장소를 제어해야 하며 변경 사항을 버전 제어에 커밋해야 합니다.
로컬 프로젝트에 종속된 라이브러리에 대한 버그 수정을 시도하려는 경우에는 그다지 흥미롭지 않습니다.
따라서 require 및 require-dev 필드에서 패키지에 별칭을 지정할 수 있습니다. monolog/monolog 패키지에서 버그를 발견했다고 가정해 보겠습니다. GitHub에서 Monolog를 복제하고 bugfix라는 분기에서 문제를 해결합니다. 이제 이 버전의 모노로그를 로컬 프로젝트에 설치하려고 합니다.
monolog/monolog 버전 1.*이 필요한 Symfony/monolog-bundle을 사용하고 있습니다. 따라서 이 제약 조건을 일치시키려면 dev-bugfix를 사용해야 합니다.
다음을 프로젝트의 루트 작곡가.json에 추가하세요:
{ "repositories": [ { "type": "vcs", "url": "https://github.com/you/monolog" } ], "require": { "symfony/monolog-bundle": "2.0", "monolog/monolog": "dev-bugfix as 1.0.x-dev" } }
이렇게 하면 Github에서 monolog/monolog의 dev-bugfix 버전을 가져오고 별칭을 1.0.x-dev로 지정합니다.
참고: 인라인 앨리어싱은 루트 전용 기능입니다. 인라인 별칭이 있는 패키지가 필요한 경우 별칭( as 의 오른쪽)을 버전 제약 조건으로 사용하세요. as의 왼쪽 부분은 버려집니다. 따라서 A가 B를 요구하고 B가 모노로그/모노로그 버전 dev-bugfix가 1.0.x-dev인 경우 A를 설치하면 B도 1.0.x-dev를 요구하게 되며 이는 분기 별칭 또는 실제 1.0으로 존재할 수 있습니다. 나뭇가지. 그렇지 않은 경우 A 의 작곡가.json 에서 다시 인라인 별칭을 지정해야 합니다.
참고: 특히 게시된 패키지/라이브러리의 경우 인라인 별칭을 사용하지 않아야 합니다. 버그를 발견하면 수정 사항을 업스트림에 병합해 보세요. 이렇게 하면 패키지 사용자의 문제를 방지하는 데 도움이 됩니다.
더 많은 작곡가 기술 기사를 보려면 composer 명령 튜토리얼 칼럼을 방문하세요!
위 내용은 별칭을 사용하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!