はじめに
Qiitaを利用してはや2年……。
今更ですが、Qiita CLIとGitHub連携を使った記事投稿環境を作ってみました!
この記事では、Node.jsのインストールからQiita CLI導入、GitHub連携、記事投稿までを、初心者向けに実際の画面付きでまとめています。
この記事はこんな人向け
- QiitaとGitHubを連携してみたい人
- Qiita CLIを使って記事管理してみたい人
- ローカル環境で記事を書きたい人
- GitやGitHubに少し触れ始めた初心者
- 「README通りにやったのにエラーが出た…」を解決したい人
※この記事の画面やUIは2026年5月時点のものです。
今後変更される可能性があります。
Node.jsのインストール手順
・公式サイトより「Node.jsを入手」ボタンを押す
・下の方にスクロールすると直接PCにインストールするボタンがあるのでこちらを選択
※ご自身のPCにあったものを選択する必要がある
・ダウンロードしたファイルを実行してインストールする
※この時チェックで選択する項目が表示されるが、基本デフォルトのままで問題なし
インストール確認
以下コマンドを実行し、バージョンが表示されればOKです。
node -v # このようなバージョンが表示されていればOK→ v24.15.0
npm -v # このようなバージョンが表示されていればOK→ 11.12.1
Qiita CLIをインストール
ここからはこちらのREADMEに沿って進めていきます
-
作業フォルダを作る
・まず適当な場所にフォルダ作る
例:C:\Users\ユーザー名\qiita-project
-
コマンドでそのフォルダに移動
cd qiita-project
-
Qiita CLIをインストール
npm install @qiita/qiita-cli --save-dev
実行結果は以下のようなものでした

-
バージョン表示されるか確認
>npx qiita version
# ◇ injected env (0) from .env // tip: ⌘ suppress logs { quiet: true }
# 1.8.0
初期化(init)
Qiita CLI用の設定ファイルをまとめて生成します。
npx qiita init
このコマンドによって以下が生成され、この時点で「記事を書く準備」が整う
・.gitignore
・qiita.config.json(設定ファイル)
・.github/workflows/publish.yml(GitHub連携用)
・publicフォルダ(記事置き場)
GitHubリポジトリ作成
ここで、GitHub で新規作成
理由として
- initで作られたファイルをそのまま管理できる
- 後から追加するよりシンプル
作成手順
Githubへログイン
新しいリポジトリを作成(右上の「+」→ New repository)
設定(以下のような感じでOK)
Repository name → qiita-project(なんでもOK)
Public / Private → どちらでも(内容による。あとでPrivateでもOK
Qiita のトークンを発行する
Qiitaに「このPCから操作していいよ」と許可を出す。
- トークンを作る
https://qiita.com/settings/tokens/new
以下のような設定となっていることを確認して「発行する」を押下
※発行された文字列はコピーしておく
Qiita CLI のログインし、トークンを登録
以下のコマンドで発行したトークンの登録を行うことで、Qiitaアカウントと接続完了する
npx qiita login
QiitaトークンをGitHubに設定
作成したリポジトリの設定からGitHub ActionsのSecretsを設定を行う
Settings > Secrets and variables > Actions > New repository secret から設定
ローカルとGitHubをつなぐ
作業フォルダに移動
cd 作業フォルダ名
Git初期化
git init
ファイル追加・保存
git add .
git commit -m "first commit"
GitHubと接続
git remote add origin https://github.com/あなたの名前/リポジトリ名.git
プッシュ
git push -u origin main
push時のエラー①
! [remote rejected] main -> main (refusing to allow an OAuth App to create or update workflow `.github/workflows/publish.yml` without `workflow` scope)
error: failed to push some refs to 'https://github.com/ユーザー名/リポジトリ名.git'
原因
- GitHub「workflow権限ないから拒否」されている状態
- Qiita CLIではGitHub Actions用ファイル(.github/workflows/publish.yml)を扱うため、通常の権限だけではpushできません。
解決方法
- 「Generate new token (classic)」で「repo」「workflow」にチェックを入れてあらたに作成
- 再度
git push -u origin mainを実行 - 表示される画面で認証アカウントを新たに追加し、発行されたトークンを入力すればエラーは発生せず、無事にpushされた
記事作成のためのファイルを作成する(例)
コマンドで作成する事で、publicフォルダにファイルができる
npx qiita new test-article
自分の好きなエディタを使用して中身を記述する
作成されたファイルを見ると以下のようになっています
---
title: test-article
tags:
- ''
private: false
updated_at: ''
id: null
organization_url_name: null
slide: false
ignorePublish: false
---
# new article body
編集する場所は以下の通りです
---
title: test-article ← ★ここは変更する(記事タイトル)
tags:
- 'test' ← ★必ずタグ入れる(例:Docker, 初心者)
private: false ← 公開するならそのまま
updated_at: '' ← 触らない
id: null ← 触らない
organization_url_name: null ← 触らない
slide: false ← 必要なければそのまま
ignorePublish: false ← そのままでOK
---
# Qiita CLIを使ってみた
今回はQiita CLIを使って記事を書いてみました。
## やったこと
- Node.jsをインストール
- Qiita CLIを導入
投稿する
記事の作成が完了したら以下コマンドを実行
git add .
git commit -m "記事作成"
git push
push時のエラー②
既にQiitaに記事投稿している場合(10個既に投稿している。とかの場合)
> git push
To https://github.com/ユーザー名/リポジトリ名.git
! [rejected] main -> main (fetch first)
error: failed to push some refs to 'https://github.com/ユーザー名/リポジトリ名.git'
hint: Updates were rejected because the remote contains work that you do not
hint: have locally. This is usually caused by another repository pushing to
hint: the same ref. If you want to integrate the remote changes, use
hint: 'git pull' before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
原因
GitHub側に既存の履歴(READMEなど)があり、ローカル履歴と一致していない状態です。
イメージとしては以下のような感じです。
あなたのPC(ローカル)
↕ 不一致
GitHub(リモート)
解決方法
- GitHubの内容(READMEなど)+ ローカル内容 = 合体させる
git pull origin main --allow-unrelated-histories
- 「MERGE_MSG」というファイルが開く
合体を記録するメッセージを書いてね。というようなファイル。
ココでは特に中身を記載しないで「Commit」ボタンを押下すればOK
- 再度
git pushして、問題がなければ無事にpushされる
さいごに
今回は、Qiita CLIとGitHub連携を使った記事投稿環境を作成してみました。
最初は、
- Node.js?
- GitHub Actions?
- トークン?
- workflow権限?
など、聞き慣れない言葉が多く少し苦戦しました。
ただ、一度環境を作ってしまえば、
- ローカルで記事を書ける
- GitHubでバックアップ管理できる
- 修正履歴を残せる
- エディタで快適に執筆できる
など、かなり便利だと感じています。
特に「記事をコードとして管理する感覚」は、普段ブラウザ投稿だけだった自分には新鮮でした。
これからQiita CLIを導入してみたい方の参考になれば嬉しいです!




