【Git】git branch -a に残る削除済みリモートブランチの正体と解消方法
Git を使って開発していると、
GitHub 上では消えているはずのブランチが、ローカルでは残って見える
という現象に遭遇することがあります。
error: unable to delete 'feat/base': remote ref does not exist error: failed to push some refs
発生した状況
以下のような流れで問題が起きました。
git branch -aを実行remotes/origin/feat/baseが表示される- GitHub の Web サイトを見ると、そのブランチはすでに削除済み
- 削除しようとして以下を実行
git push origin :feat/base
エラーが出る
結論:原因は「ローカルのリモート追跡情報が古い」
この問題の原因はとてもシンプルです。
GitHub 上の状態と、ローカルに保存されている
origin/*情報がズレている
git branch -a で表示されるremotes/origin/* は 実体ではなくキャッシュ情報 です。
つまり、
- GitHub:すでに削除済み
- ローカル:まだ「あることになっている」
という状態になっていました。
正しい解決方法(これだけでOK)
✅ git fetch --prune を実行する
git fetch --prune
このコマンドを実行すると、
- リモート(GitHub)に存在しないブランチを
- ローカルの
remotes/origin/*から自動削除
してくれます。
実行後に確認:
git branch -a
remotes/origin/feat/base が消えていれば解消完了です
なぜ git push origin :branch は失敗したのか?
git push origin :feat/base
このコマンドは、
「リモートに存在する
feat/baseを削除せよ」
という意味です。
しかし今回は、
- すでに GitHub 側にブランチが存在しない
- 削除対象が見つからない
ため、
remote ref does not exist
というエラーになりました。
操作自体は間違っていません。
単に「もう消えていた」だけです。
今後ズレを防ぐおすすめ設定
毎回 --prune を付けるのが面倒な場合は、
以下を設定しておくと便利です。
git config --global fetch.prune true
これにより、
git fetchgit pull
を実行するたびに、
不要なリモート追跡ブランチを自動で削除 してくれます。
よくある勘違いポイント
- ❌
git branch -aに出ている = GitHub に存在する - ⭕ 実際は「ローカルに残っている情報」なだけ
Git は「安全側」に倒れる設計のため、
勝手にブランチを消さない のが仕様です。
まとめ
- GitHub で消したブランチが
git branch -aに残ることがある - 原因はローカルのリモート追跡情報のズレ
- 解決方法はこれだけ👇
git fetch --prune
- 定期的にズレを防ぐなら
fetch.prune = trueを設定
URLエンコード・Base64・Quoted-Printable
Web開発やAPI連携、メール送信をしていると
URLエンコード、Base64、Quoted-Printable
という言葉を目にすることがあります。
一見似ているこれらの「エンコード方式」ですが、
目的も使いどころもまったく異なります。
この記事では、それぞれの
- 仕組み(概要)
- 文字列の変換例
- 特徴と用途の違い
をわかりやすく解説します
URLエンコード(Percent Encoding)とは
URLエンコードの概要
URLエンコードは、
URLで使用できない文字を安全な形式に変換する仕組みです。
URLでは日本語やスペース、記号の多くが使えないため、
それらを %XX(16進数)形式に変換します。
URLエンコードの例
# 元の文字列 謹賀新年 # URLエンコード後(UTF-8) %E8%AC%B9%E8%B3%80%E6%96%B0%E5%B9%B4
URLエンコード・デコード ツール
URLエンコード・デコード ツール
URLエンコードの特徴
%+ 16進数で表現- UTF-8のバイト列を1バイトずつ変換
- URLやクエリパラメータで必須
- 人間には読みにくいがURL安全
主な使用場面
- クエリパラメータ
- フォーム送信(GET)
- 検索URL
Base64
Base64は、
バイナリデータを英数字のみの文字列に変換する方式です。
画像・音声・ファイルなどを
テキストしか扱えない環境で送信するために使われます。
Base64の例
# 元の文字列 謹賀新年 # Base64エンコード後 6Ky56LOA5paw5bm0
Base64 エンコード・デコード ツール
Base64 エンコード・デコード ツール
Base64の特徴
- 使用文字:英数字 +
+ / = - データサイズが約1.33倍に増える
- URLではそのまま使えない
- 汎用性が非常に高い
主な使用場面
- Data URL(画像埋め込み)
- API通信
- Basic認証
Quoted-Printableとは
Quoted-Printableは、
主にメール本文向けのエンコード方式です。
ASCII文字はそのまま残し、
日本語などの非ASCII文字だけを =XX 形式で変換します。
Quoted-Printableの例
# 元の文字列 謹賀新年 # Quoted-Printable後 (UTF-8) =E8=AC=B9=E8=B3=80=E6=96=B0=E5=B9=B4
Quoted-Printable エンコード・デコード ツール
Quoted-Printable エンコード・デコード ツール
Quoted-Printableの特徴
- ASCII文字が可読なまま
=XX形式- メールの文字化け防止に有効
- 76文字改行制限あり
主な使用場面
- メール本文(text/plain / text/html)
- MIMEエンコード
- メールサーバー間通信
| 項目 | URLエンコード | Base64 | Quoted-Printable |
|---|---|---|---|
| 主用途 | URL | バイナリ転送 | メール |
| 表記形式 | %XX |
英数字 + 記号 | =XX |
| 可読性 | 低 | 低 | 中 |
| サイズ増加 | 中 | 大 | 小〜中 |
| URL安全 | ◎ | × | △ |
Big Five(五因子モデル)診断 | 5つの観点から“傾向”とは
Big Five(五因子モデル)診断とは?
Big Five(五因子モデル)は、心理学で広く使われている性格特性モデルです。
人の性格を「良い・悪い」で判断するのではなく、5つの観点から“傾向”として捉えることが特徴です。
- 外向性(Extraversion)
- 協調性(Agreeableness)
- 誠実性(Conscientiousness)
- 神経症傾向(Neuroticism)
- 開放性(Openness)
この診断では、それぞれの因子を0〜100のスコアで可視化し、あなたの性格のバランスを直感的に確認できます。
ビッグファイブ診断
ビッグファイブ診断を開始
この診断でわかること
- 自分がどんな場面でストレスを感じやすいか
- 人付き合いにおける距離感や関わり方の傾向
- 仕事・学習で自分に合いやすい進め方
結果はレーダーチャートとコメントで表示され、
スマホでも見やすく、直感的に理解できる設計になっています。
結果は画像でシェア可能
診断結果は画像として生成でき、X(旧Twitter)などのSNSへそのまま共有できます。
PWA対応のため、スマホではアプリ感覚で利用できます。
ご利用にあたって
本診断は自己理解を深めるための簡易チェックです。
医療的・専門的な診断を目的としたものではありません。
直感でサクッと答えることで、今のあなたの傾向がより分かりやすく表れます。
ビッグファイブ診断
ビッグファイブ診断を開始
