ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
git remote とは
Git のリモート (remote)とは「ローカルリポジトリが認識している他のリポジトリの別名」のことです。git clone 直後は通常 origin という名前で clone 元が登録されます。
「リモート」は名前 ↔ URL の対応表に過ぎず、登録するだけでは何もダウンロードされません。実際の同期は fetch / pull / push で行います。
現在のリモート一覧を見る
# 名前だけ
git remote
# origin
# URL も
git remote -v
# origin git@github.com:user/repo.git (fetch)
# origin git@github.com:user/repo.git (push)
# 詳細 (HEAD ブランチ、トラッキング設定など)
git remote show origin
# * remote origin
# Fetch URL: git@github.com:user/repo.git
# Push URL: git@github.com:user/repo.git
# HEAD branch: main
# Remote branches:
# main tracked
# develop tracked
# Local branch configured for 'git pull':
# main merges with remote main
# Local refs configured for 'git push':
# main pushes to main (up to date)
リモートを追加 / 削除
# 追加
git remote add origin git@github.com:user/repo.git
# 別名で追加 (本家を upstream として)
git remote add upstream git@github.com:original-owner/repo.git
# 削除
git remote rm origin
git remote remove origin # rm の別名
# リネーム
git remote rename origin github
URL を変更する: set-url
HTTPS で clone したものを SSH に切り替えたい、Bitbucket から GitHub へ移管した、独自ドメインに変えた、などの場面で頻用します。
# 変更
git remote set-url origin git@github.com:user/repo.git
# push 専用に別 URL (fetch は元のまま)
git remote set-url --push origin git@github.com:user/repo.git
# 確認
git remote -v
典型的なフロー: clone から push まで
# 1. 既存リモートを clone
git clone git@github.com:user/repo.git
cd repo
git remote -v # origin 登録済
# ―――― あるいは ――――
# 1'. ローカルで作って後からリモート登録
mkdir myproject && cd myproject
git init
echo "# myproject" > README.md
git add README.md
git commit -m "Initial commit"
# 2. GitHub などで空リポジトリを作っておき URL を控える
# 3. リモートを登録
git remote add origin git@github.com:user/myproject.git
# 4. 初回 push (-u で upstream 紐付け)
git branch -M main
git push -u origin main
# 5. 以後は短く
git push
git pull
fetch / pull / push の役割
| コマンド | 動作 | ローカル変更への影響 |
|---|---|---|
git fetch | リモートの最新を取り込む (origin/main 等の追跡ブランチを更新) | ★ なし (安全) |
git pull | fetch + 現在のブランチに merge (デフォルト) or rebase | あり (自動マージ) |
git push | ローカルのコミットをリモートに送る | — |
git fetch --prune | fetch + 消えたリモートブランチをローカル追跡から削除 | 追跡情報のみ |
origin と upstream: OSS で fork する場合
OSS にコントリビュートするときは、本家を upstream、自分の fork を origin として登録するのが定番です。
# 1. 自分の fork を clone (origin = fork)
git clone git@github.com:myuser/awesome.git
cd awesome
# 2. 本家を upstream として追加
git remote add upstream git@github.com:upstream-owner/awesome.git
git remote -v
# origin git@github.com:myuser/awesome.git (fetch/push)
# upstream git@github.com:upstream-owner/awesome.git (fetch/push)
# 3. 本家の更新を取り込む (upstream → ローカル main → fork へ push)
git checkout main
git fetch upstream
git merge upstream/main
# または
git rebase upstream/main
git push origin main
# 4. 機能ブランチで作業 → fork へ push → PR
git checkout -b feature/x
# ... commit ...
git push -u origin feature/x
複数リモートの一例
# 同じプロジェクトを GitHub と GitLab の両方にバックアップ
git remote add github git@github.com:user/repo.git
git remote add gitlab git@gitlab.com:user/repo.git
# 個別に push
git push github main
git push gitlab main
# 両方に一度に push したい場合
# origin の Push URL を複数登録する技
git remote set-url --add --push origin git@github.com:user/repo.git
git remote set-url --add --push origin git@gitlab.com:user/repo.git
git push origin main # 両方に飛ぶ
消えたリモートブランチを掃除
同僚がリモートでブランチを削除しても、ローカルの origin/branch は残り続けます。これを掃除するのが --prune です。
# Dry-run で何が消えるか確認
git remote prune origin --dry-run
# 実行
git remote prune origin
# fetch と同時に prune (こちらが手軽)
git fetch --prune
git fetch -p
# pull に統合
git config --global fetch.prune true # 以後 fetch 時に常に prune
# それでもローカルブランチは残るので個別に削除
git branch -d feature/old # マージ済みなら -d
git branch -D feature/old # 未マージでも強制 -D
トラッキング (upstream) 設定
ローカルブランチがどのリモートブランチを追跡するかを設定すると、git push / git pull を引数なしで使えるようになります。
# 初回 push で紐付け
git push -u origin feature/x
# 既存ブランチに後から設定
git branch --set-upstream-to=origin/feature/x feature/x
git branch -u origin/feature/x # 短縮形
# 確認
git branch -vv
# * feature/x abcd123 [origin/feature/x] commit msg
# main efgh456 [origin/main] another commit
# 解除
git branch --unset-upstream
よくあるトラブル
| 症状 | 原因 | 対処 |
|---|---|---|
fatal: remote origin already exists. | add しようとしたが既にある | git remote set-url で上書き or rm してから add |
fatal: 'origin' does not appear to be a git repository | リモート未登録 | git remote -v で確認、未登録なら add |
remote: Permission to ... denied | SSH 鍵 / PAT 認証エラー | ssh -T git@github.com で鍵確認、PAT 期限確認 |
The requested URL returned error: 403 | HTTPS で credential helper が古い PAT を握りっぱなし | git credential-manager erase / OS のキーチェーン削除 |
| push したのに反映されていない | 別ブランチや別リモートに飛んだ | git remote -v とgit branch -vv で確認 |
FAQ
Q: origin という名前を変えたい
A: git remote rename origin github で OK。以後は git push github main のように使えます。
Q: 移管したけど CI が古い URL を見続けている
A: ローカル / CI 両方で git remote set-url を実行する必要があります。CI 側はリポジトリ設定の Webhook / 連携 URL も新リポジトリに差し替えてください。
Q: git remote update と git fetch --all の違い
A: ほぼ同じです。git remote update はすべてのリモートを fetch します。git fetch --all も同じ動作で、現代は後者が一般的です。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- 用語一覧
- エラー一覧
- git本体のインストール(Linux)
- Linuxサーバーへのgit導入とクライアントのセットアップ
- リモートリポジトリをローカルリポジトリとしてクローンする方法
- リモートとローカルのリポジトリを同期(pull)する方法
- 設定の確認
- gitユーザー名とemailの設定
- リモートリポジトリの作成
- ローカルリポジトリの作成
- 新規ファイル/ディレクトリをインデックスに登録
- インデックスの登録状態を確認
- ローカルリポジトリの変更をコミット
- コミット履歴の確認
- クライアントからリモートリポジトリの接続設定、確認、削除
- リポジトリへのプッシュ
- リモートリポジトリからクライアントへのSSHクローン
- リモートとローカルの差分表示
- バージョンの確認
- プロキシの設定
- ローカルをリモートリポジトリの状態に戻す
- ブランチの作成, 一覧表示, 切り替え
- ブランチのマージと削除
- リベース
- .gitignoreの書き方
- .gitignoreの設定が反映されない場合
- 特定のファイルをgitの管理から外す方法
- 参照(ORIG_HEAD, HEAD, FETCH_HEAD)
- git rm [-r --cached] の取り消し
- 一部のディレクトリ/ファイルのみをリポジトリから復元する方法
- ローカルとリモートリポジトリの有無を同期
- pushの取消し方法
- マージツールの起動方法
- Gitで「MERGING」の状態
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?