콘텐츠로 이동

업데이트와 재실행

같은 명령을 다시 실행하면 최신 payload로 업데이트합니다:

터미널 창
npx project-auto-wizard@latest
npx project-auto-wizard@latest --mode full --force # 비대화형

version.yml에 저장된 선택(타입, 경로, 브랜치, 배포 방식, Flutter 옵션, semver_auto, copilot_ai)은 다시 묻지 않고 그대로 씁니다. 비대화형 플래그를 주면 플래그가 우선합니다.

마법사는 워크플로우마다 세 가지를 비교합니다: 지난번 설치한 것(.github/.wizard/baseline.json의 해시), 지금 디스크에 있는 것, 새 payload가 렌더한 것.

상황 결과
새 버전과 같음 건너뜀
사용자는 안 고쳤고 payload가 바뀜 새 버전으로 교체
사용자가 고쳤고 payload는 그대로 사용자 수정본 유지
양쪽 다 바뀜 충돌 — 아래에서 선택
설치했는데 사용자가 지움 복원을 선택하지 않으면 되살리지 않음
이번 payload에서 새로 추가됨 새로 씀

충돌은 대화형에서 3지선으로 고릅니다:

선택 결과
유지 (기본) 사용자 파일 그대로, 업스트림 변경은 반영 안 됨
백업 후 교체 사용자 파일을 <이름>.bak으로 옮기고 새 버전을 씀
참고본 추가 사용자 파일 그대로, 새 버전을 <이름>.template.yaml로 추가해 비교할 수 있게 함

--force에서는 충돌이 유지로 처리됩니다. 어떤 파일을 유지·교체·백업했는지와 그 이유는 실행 로그에 남습니다(로그 참고).

.bak, .template.yaml 파일은 .gitignore에 자동으로 추가됩니다.

배포 방식·Flutter 스토어 대상 변경

섹션 제목: “배포 방식·Flutter 스토어 대상 변경”

다시 실행하면서 배포 방식을 바꾸거나 스토어 대상을 해제하면, 더 이상 쓰지 않는 워크플로우를 정리합니다. 손대지 않은 파일은 삭제하고, 수정한 파일은 .bak으로 옮깁니다. 둘 다 남겨 두면 배포가 두 번 돕니다.

터미널 창
npx project-auto-wizard --mode full --force --dry-run

파일을 건드리지 않고 무엇을 쓰고, 교체하고, 유지할지 보여 줍니다.

  • RELEASE-PUBLISH는 태그와 Release를 따로 확인합니다. 재실행(또는 workflow_dispatch)하면 이미 있는 태그 때문에 실패하지 않고 절반만 발행된 릴리스를 마저 발행합니다.
  • RELEASE-PUBLISH를 workflow_dispatch로 실행하면 현재 버전을 다시 발행합니다.
  • PR을 이미 머지한 실행 뒤에 대기하던 릴리스 PR 실행은 바로 종료합니다. 오류가 아닙니다.