◀ 15.

Git remoteの設定・確認・削除|SSH URLとfetch/pushの違い

▶

Gitのremoteはローカルrepoに接続先の名前とURLを登録する設定です。追加/確認/変更/削除の範囲と、接続認証・サーバー側のrepoを分けて扱います。

Gitのremote名とfetch/push URLを確認しローカル設定とサーバー側の履歴を区別する図

この記事の要点
  • Git のリモートリポジトリ接続設定 (remote)
  • 追加: git remote add origin URL
  • 確認: git remote -v / get-url。remote show originは接続先へ問い合わせる場合があり、-nで問い合わせを省く
  • 削除: git remote remove origin / リネーム: git remote rename old new

 

remote設定

次の旧URLは説明用で、そのまま実行する完成形ではありません。remote名はorigin等のローカルで使う名前、URLは送り先です。SSH configのHost別名を使う場合はssh://git-training/home/git/repos/app.git等とし、そのHostがHostNameへ解決されます。HostNameという設定キーや日本語の説明をURLへ貼りません。User/port・絶対パス/ホーム相対のscp形式も区別し、実際の権限/パスを管理者へ確認します。

git remote add 適当なリポジトリ名 ssh://configのHostName/~.git

remote addはローカルrepoに名前とURLを登録します。通常はそのrepoのconfigへ保存されますが、worktree等では.git/configという見た目のパスに固定しません。サーバー上のrepo作成やSSH認証、鍵登録・アクセス権の付与は行いません。

.gitは通常は隠しディレクトリですが、linked worktree等では参照用ファイルの場合もあります。設定を探して直接書き換えるより、対象repoでgit config --localやgit remoteの必要な操作を使います。

 

remote設定の確認

次の一覧はローカル設定の表示で、接続成功の試験ではありません。fetchとpushのURL、複数URL・insteadOf等の書換えも確認し、URL内の秘密値や内部情報を出力の共有前に点検します。

git remote -v

 

remote設定の削除

次はローカルのremote設定や対応するremote-tracking参照等を除く操作です。サーバーのrepoやローカルの作業ファイルを消す命令ではありませんが、追跡設定/今後の送受信に影響するため対象名と保存値を先に確認します。日本語の括弧付き説明はそのまま入力しません。

git remote rm 「remote addで設定したリポジトリ名」

 

fetch URLとpush URLを別々に確認する

git remote get-url --all originでfetch側、git remote get-url --push --all originでpush側を確認します。明示したpush URLがある場合、fetch URLをset-urlで変えてもpush先は残ることがあります。通常は同じrepoへのアクセス経路として使い、別repo間の同期は別remote等で設計します。originの既存設定がある場合は、削除して作り直す前に値と追跡先を調べます。

ネットワークなしで追加・変更・削除を練習する

Bash/Git 2.28以降で、新しい空フォルダから実行します。既存の2つの練習先があれば停止します。相対パスと絶対パスは同じ新規bareを指し、実サービスの接続先を変更する例ではありません。global設定も変えません。

set -eu

# Bash / Git 2.28+: never reuse an existing practice path.
for name in config-remote.git config-work; do
    if [ -e "$name" ] || [ -L "$name" ]; then
        printf '%s\n' 'Practice path already exists; stop without changing it.' >&2
        exit 1
    fi
done
git init --bare --initial-branch=main config-remote.git
git init --initial-branch=main config-work
git -C config-work remote add origin ../config-remote.git
git -C config-work remote set-url --push origin ../config-remote.git
git -C config-work remote set-url origin "$PWD/config-remote.git"
git -C config-work remote get-url --all origin
git -C config-work remote get-url --push --all origin
git -C config-work remote show -n origin
git -C config-work remote rename origin training
git -C config-work remote get-url --push --all training
git -C config-work remote remove training
git -C config-work remote
git --git-dir=config-remote.git rev-parse --is-bare-repository

fetch URLを絶対パスへ変えても、明示済みpush URLは相対パスのままです。rename後はtraining名で同じ設定を参照し、remove後のremote一覧は空でも、bareが存在してtrueと表示されます。通常のremote showは相手への問い合わせを行う場合がありますが、上の-nはネットワークの問い合わせを省きます。接続/権限が確認できたとは扱いません。

作成はリモートrepoの作成、認証の準備はサーバーとクライアントのセットアップ、送信はpushへ。Git親ページの子ページから選択してください。

公式資料と検証範囲

2026年10月にremote、configとURL書換え、SSHのHost/HostNameを確認しました。元コード表3個と章の構成を保持し、見出しのremotoはremoteへ訂正。新規ローカルrepoでURL/rename/removeの範囲を実行検証しましたが、実SSH認証・サーバー権限や全URL書換え構成を検証したものではありません。

子ページ

子ページはありません

同階層のページ
  1. 用語一覧
  2. エラー一覧
  3. git本体のインストール(Linux)
  4. Linuxサーバーへのgit導入とクライアントのセットアップ
  5. リモートリポジトリをローカルリポジトリとしてクローンする方法
  6. リモートとローカルのリポジトリを同期(pull)する方法
  7. 設定の確認
  8. gitユーザー名とemailの設定
  9. リモートリポジトリの作成
  10. ローカルリポジトリの作成
  11. 新規ファイル/ディレクトリをインデックスに登録
  12. インデックスの登録状態を確認
  13. ローカルリポジトリの変更をコミット
  14. コミット履歴の確認
  15. クライアントからリモートリポジトリの接続設定、確認、削除
  16. リポジトリへのプッシュ
  17. リモートリポジトリからクライアントへのSSHクローン
  18. リモートとローカルの差分表示
  19. バージョンの確認
  20. プロキシの設定
  21. ローカルをリモートリポジトリの状態に戻す
  22. ブランチの作成, 一覧表示, 切り替え
  23. ブランチのマージと削除
  24. リベース
  25. .gitignoreの書き方
  26. .gitignoreの設定が反映されない場合
  27. 特定のファイルをgitの管理から外す方法
  28. 参照(ORIG_HEAD, HEAD, FETCH_HEAD)
  29. git rm [-r --cached] の取り消し
  30. 一部のディレクトリ/ファイルのみをリポジトリから復元する方法
  31. ローカルとリモートリポジトリの有無を同期
  32. pushの取消し方法
  33. マージツールの起動方法
  34. Gitで「MERGING」の状態

最近更新/作成されたページ