업데이트와 재실행
같은 명령을 다시 실행하면 최신 payload로 업데이트합니다:
npx project-auto-wizard@latestnpx 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 실행은 바로 종료합니다. 오류가 아닙니다.