Communityコーディング&開発github.com

lg0219/github-ghclone

国内(中国大陆网络)GitHub 访问慢、clone/fetch 掉线时的加速方案。自动轮换 GitHub 加速前缀并带重试,配好 git 全局静态加速 + ghclone 别名。

github-ghclone とは?

このスキルは、中国大陸のネットワーク環境で GitHub へのアクセスが遅い、あるいは不安定な場合に、git clone/fetch を高速化するためのツールです。ghclone スクリプトが複数の加速プロキシ(ミラープロキシ)を自動で切り替えながらリトライすることで、単一のプロキシが落ちていたり遅かったりしても処理が止まらず、安定したクローンを実現します。インストールすると、git のグローバル設定に静的加速設定が追加され、通常の git clone コマンドも自動的にプロキシ経由になるほか、ghclone エイリアスが利用可能になります。プロキシの一覧はユーザーが編集可能で、コミュニティで維持されている複数のプロキシを切り替えられるため、可用性が高い点が特徴です。

対応~Claude Code~Codex CLI~Cursor
npx skills add lg0219/github-ghclone

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

GitHub GHClone - 国内 GitHub 高速化スキル

適用シーン

ユーザーが国内ネットワーク環境で以下の状況に遭遇した場合に有効:

  • git clone https://github.com/... が遅い、止まる、Recv failure: 接続がリセットされました、タイムアウト
  • GitHub サイト / API への直接接続が不安定または完全に遮断されている(curl https://github.com で 0 バイト)
  • GitHub リポジトリ、Release ファイル、raw ファイルを一括取得する必要がある

核心的な考え方:github.com へのアクセスを、国内から直接アクセス可能な「加速プレフィックス(ミラープロキシ)」経由に変更し、複数のプレフィックスを自動で切り替え + リトライします。単一のプレフィックスが応答不能になった場合でも処理を止めず、次のプレフィックスに自動で切り替えます。

ワンクリックインストール

# このリポジトリをクローン(利用可能な任意のプレフィックスでまず clone しても可)
git clone https://gh-proxy.com/https://github.com/OWNER/github-ghclone.git
cd github-ghclone
bash scripts/install.sh
source ~/.bashrc   # ~/bin を有効化

インストール後に得られるもの:

  • ~/bin/ghclone —— 実行可能スクリプト(3 つのプレフィックスを自動切り替え、各プレフィックスで 3 回リトライ)
  • git グローバル静的加速 url."https://gh-proxy.com/https://github.com/".insteadOf(通常の git clone も直接恩恵を受ける)
  • git エイリアス gclone → ghclone

使用方法

# 方法 1:スクリプトを直接呼び出す
ghclone https://github.com/owner/repo.git --depth 1

# 方法 2:git エイリアス
git gclone https://github.com/owner/repo.git --depth 1

# 通常の git コマンド(グローバル加速済み、エイリアス不要)
git clone https://github.com/owner/repo.git

ghclone は自動で現在利用可能なプレフィックスを検出し、成功すれば返し、すべて失敗した場合にのみエラーを出力します。

手動設定(install.sh を実行したくない場合)

  1. スクリプトをダウンロード(このリポジトリ内の bin/ghclone)し、~/bin/ に配置、chmod +x する。
  2. git グローバル静的加速(現在利用可能なプレフィックスを 1 つ選択):
    git config --global url."https://gh-proxy.com/https://github.com/".insteadOf "https://github.com/"
    
  3. git エイリアス:
    git config --global alias.gclone '!~/bin/ghclone'
    
  4. PATH:~/bin を PATH に追加(~/.bashrc に追記):
    export PATH="$HOME/bin:$PATH"
    

プレフィックスの変更 / 追加 / 削除(特定のプレフィックスが応答しなくなった場合)

加速プレフィックスはコミュニティで維持されるプロキシであり、利用可能なときもあれば利用できないときもあるため、切り替えに対応する必要があります:

  • ~/bin/ghclone(またはこのリポジトリの bin/ghclone)内の PATS=(...) 配列を編集し、プレフィックスを追加 / 削除する。
  • git グローバル静的プレフィックスを変更する:
    # 新しい利用可能なプレフィックスに変更
    git config --global url."https://新しいプレフィックス/https://github.com/".insteadOf "https://github.com/"
    # 古いプレフィックスを削除
    git config --global --unset url."https://古いプレフィックス/https://github.com/".insteadOf
    

プレフィックスが利用可能かを確認する

各プレフィックスを使って実際に小さなリポジトリで確認(コミットハッシュが返ってくれば利用可能、0 バイト / エラーなら利用不可):

for p in https://gh-proxy.com https://ghfast.top https://ghproxy.net; do
  n=$(git ls-remote "$p/https://github.com/octocat/Hello-World.git" HEAD 2>/dev/null | head -1)
  echo "$p -> ${n:-利用不可}"
done

既知の利用可能なプレフィックス(2026-10 時点の実測、随時変化する可能性あり)

プレフィックス使用方法
https://gh-proxy.comhttps://gh-proxy.com/https://github.com/owner/repo.git
https://ghfast.tophttps://ghfast.top/https://github.com/owner/repo.git
https://ghproxy.nethttps://ghproxy.net/https://github.com/owner/repo.git

直接 github.com へアクセスすると国内では通常 0 バイト(遮断されている)となるため、必ずプレフィックスを経由してください。プレフィックスサービスは不安定であり、ghclone のリトライロジックはこのような「接続がリセットされる」瞬間的な障害に対処するためのものです。

制限と注意点

  • プレフィックスプロキシはサードパーティのコミュニティサービスであり、可用性、速度、存続期間は制御できません。すべてのプレフィックスが無効になった場合は、新しいプレフィックスを探して PATS を置き換える必要があります。
  • このツールは github.com への git プロトコルアクセスのみを高速化します。objects.githubusercontent.com(Release の大きなファイルなど)のサブドメインについても、同様にプレフィックスでラップすることで高速化できます。
  • コンプライアンスに関する注意:現地の法令に従ったインターネットアクセス方法を使用してください。

関連スキル