マキモノ
Web開発無料✅ 公式検証済みv1.0.0 / 更新

マージしたのに本番が変わらない — Vercel の Git author ブロックを特定して費用ゼロで通す

PR をマージしたのに本番が更新されないとき、Vercel が author 検査でデプロイを拒否している可能性を gh api と vercel CLI で確定し、作り直しゼロ・費用ゼロで通す手順。マージ方式ではなく「押した人」が原因という誤診も扱う。

出品者: nishi@orgiast.jp📖 読込 約1,944トークン (約3円)💰 コスパ 4倍
トークン節約メーター82%節約
ゼロからAIに作らせた場合約9,000トークン
このMDを読ませた場合約1,600トークン

約7,400トークンの節約 (API料金換算で約11円分)。 要件定義・技術調査・試行錯誤ぶんのトークンがまるごと不要になります。※ 出品者申告とレビューに基づく推定値。モデル・タスク内容により変動します。

この巻物について

「マージしたのに本番が変わらない — Vercel の Git author ブロックを特定して費用ゼロで通す」は、Web開発カテゴリのAI指示書(MDファイル)です。PR をマージしたのに本番が更新されないとき、Vercel が author 検査でデプロイを拒否している可能性を gh api と vercel CLI で確定し、作り直しゼロ・費用ゼロで通す手順。マージ方式ではなく「押した人」が原因という誤診も扱う。この巻物をAIに読み込ませると、ゼロから設計・調査する場合に比べて 約7,400トークン(API料金換算で約11円)・82%のトークンを節約できます。

カテゴリ
Web開発
対応AI
claude-code、cursor、codex-cli
ライセンス
商用利用可 (再販不可)
価格
無料
ゼロから開発時
約9,000トークン
この巻物使用時
約1,600トークン
節約量
約7,400トークン (約11円)
更新日
2026-10-02

使い方 (AIに渡す3つの方法)

いちばん簡単なのはワンライナー。Claude Code のターミナルに貼るだけです。

⬇ .md をダウンロード
claude "https://makimono-md.vercel.app/api/v1/files/vercel-git-author/raw を読み込んで、この指示書どおりに実装して"
claude-codecursorcodex-cliライセンス: 商用利用可 (再販不可)

中身

マージしたのに本番が変わらない — Vercel の「Git author must have access」を特定して $0 で通す

これは何の指示書か

GitHub と連携した Vercel プロジェクトで、PR をマージしたのに本番サイトが更新されないときの原因特定と回避手順。CI は緑、マージも成功、なのに本番だけ古いまま、という状況を扱う。

よくある誤診は「ビルドキャッシュ」「ブランチ違い」「環境変数」。それらを疑う前に、デプロイが作成すらされず拒否されている可能性を先に潰す。

症状

  • PR の Checks に Vercel の項目があり、Git author <ユーザー名> must have access to the project on Vercel to create deployments. と出ている。
  • マージ自体は成功し、main には変更が入っている。
  • 本番 URL は以前のビルドを返し続ける。
  • 特定のメンバーが出した変更のときだけ起きる。別のメンバーのときは出る。

原因

Vercel は、Git 連携で作られるデプロイについて コミットの author が Vercel プロジェクトにアクセス権を持っているかを検査する。権限が無い人が author のコミットは、ビルドされずに Deployment was blocked で終わる。

ここで最も間違えやすい点がひとつある。

author を決めるのはマージ方式ではなく、マージボタンを押した人。

Squash and merge を Create a merge commit に変えても、押したのが権限の無い人なら、できあがるコミットの author はその人になる。方式の選択では直らない。

診断(コマンドだけで確定する。管理画面を開かなくてよい)

GitHub CLI (gh) が使える前提。<OWNER>/<REPO> は自分のものに置き換える。

1. 本番デプロイの結果を見る

gh api "repos/<OWNER>/<REPO>/deployments?environment=Production&per_page=5" --jq '.[].id'

出た ID それぞれについて state を見る。

gh api "repos/<OWNER>/<REPO>/deployments/<ID>/statuses" --jq '.[0] | {state, description}'

{"state":"failure","description":"Deployment was blocked"} なら、この問題。

2. 作者と結果を突き合わせる

for id in $(gh api "repos/<OWNER>/<REPO>/deployments?environment=Production&per_page=10" --jq '.[].id'); do
  sha=$(gh api "repos/<OWNER>/<REPO>/deployments/$id" --jq '.sha[0:7]')
  who=$(gh api "repos/<OWNER>/<REPO>/commits/$sha" --jq '.commit.author.email')
  st=$(gh api "repos/<OWNER>/<REPO>/deployments/$id/statuses" --jq '.[0].state')
  echo "$sha $who $st"
done

作者ごとに success と failure がきれいに分かれていれば確定。分かれていなければ別の原因なので、この指示書は当たらない。

3. 自分がそのプロジェクトに届くか、Vercel 側に直接聞く

GitHub の情報だけで「権限が無い」と断定しない。Vercel に聞く。

npx vercel whoami
npx vercel teams ls
npx vercel project ls --scope <TEAM_ID>

<TEAM_ID> は PR の Vercel チェックのリンクに teamId= として入っている。The specified scope does not exist が返れば、そのアカウントからはプロジェクトに到達できない。

直し方

A. いますぐ本番を更新する($0・権限のある人の操作2クリック)

プロジェクトに権限のある人が、PR をどれか1本マージする。 そのマージコミットの author がその人になるので、デプロイが通り、main の現在の内容がまとめて本番に出る。ブロックされた変更もそこに含まれるため、作り直しは不要。

待機中の PR が無ければ、権限のある人が空コミットを push しても同じ効果になる。

git commit --allow-empty -m "chore: trigger production deploy"
git push origin main

B. 再発させない($0・初回だけ1操作)

Deploy Hook を使い、author 検査を通らない経路でデプロイを起こす。

  1. 権限のある人が Vercel のプロジェクト設定で Deploy Hook を作り、URL を GitHub リポジトリの Secrets に VERCEL_DEPLOY_HOOK として登録する。
  2. 下のワークフローを置く。
name: Trigger Vercel deploy
on:
  push:
    branches: [main]
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Call deploy hook
        run: curl -fsS -X POST "${{ secrets.VERCEL_DEPLOY_HOOK }}"

Deploy Hook は誰が push したかを見ないので、以後は author に関係なく本番が更新される。

C. 根本解決(有料になる場合がある)

ブロックされているメンバーを Vercel プロジェクトに追加する。個人スコープなら無料だが、チームスコープではプランによって課金対象になることがある。A と B で足りるなら、先にそちらを使う。

落とし穴

  • CLI の成功を信じない。 vercel deploy --prod は作成に失敗しても exit 0 で終わることがある。必ず上の deployments/<id>/statuses で state を確認する。
  • マージ方式を変えて様子を見ない。 原因が author である以上、方式を変えても結果は変わらない。押す人を変える。
  • 「権限が無いはず」で止めない。 Vercel の CLI か API を直接叩いて確認する。GitHub 側の情報は根拠にならない。
  • 依頼するときは「人」を書く。 「merge commit を選んでください」ではなく「あなたがマージボタンを押してください」と書く。方式の話にすると相手は方式だけ変えて同じ結果になる。

完了の判定

A または B を実施したあと、もう一度これを実行する。

gh api "repos/<OWNER>/<REPO>/deployments?environment=Production&per_page=1" --jq '.[0].id'
gh api "repos/<OWNER>/<REPO>/deployments/<上の ID>/statuses" --jq '.[0].state'

success が返れば本番に出ている。ここまで確認してから完了と呼ぶ。

よくある質問

+「マージしたのに本番が変わらない — Vercel の Git author ブロックを特定して費用ゼロで通す」とは何ですか?

PR をマージしたのに本番が更新されないとき、Vercel が author 検査でデプロイを拒否している可能性を gh api と vercel CLI で確定し、作り直しゼロ・費用ゼロで通す手順。マージ方式ではなく「押した人」が原因という誤診も扱う。

+どれくらいトークン(費用)を節約できますか?

ゼロから開発すると約9,000トークンかかりますが、この巻物を使えば約1,600トークンで済みます。差し引き約7,400トークン(API料金換算で約11円)・82%の節約です。

+どうやって使いますか?

無料です。MDファイルを Claude Code などのAIに読み込ませるだけ。ワンライナーをターミナルに貼れば実装が始まります。要件定義や技術調査を省いて実装だけにトークンを使えます。

+どのAIツールに対応していますか?

claude-code、cursor、codex-cli に対応しています。

+商用利用できますか?

ライセンスは「商用利用可 (再販不可)」です。

🤝 自分でAIを動かすのは、まだ不安…という方へ

この巻物の内容を、AIを使うプロに丸ごと任せることもできます。姉妹サービスAI代行堂なら「LINEで頼むだけで、仕事が完成」。

AI代行堂を見る →

関連する巻物

この巻物、誰かのトークンも救えます

𝕏 で節約レシートをシェア