ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
git add とは(ステージング領域)
Git のコミットは 3 つの領域を行き来します:
[Working Tree] [Staging (Index)] [Repository]
編集中ファイル → git add → ステージ → git commit → コミット履歴
↑
git restore --staged で戻る
git add は "何を次のコミットに含めるか" を選ぶ作業です。「全ての変更を勝手にコミットする」のではなく、意図的に選んでコミットできるのが Git の強みです。
基本オプション一覧
| コマンド | 対象 | 削除の扱い |
|---|---|---|
git add file.txt | 個別ファイル | 明示すれば削除も |
git add dir/ | ディレクトリ配下 | 削除も含む |
git add . | カレント以下の全変更 | 削除も含む(Git 2.0+) |
git add -A / --all | リポジトリ全体の全変更 | 削除も含む |
git add -u / --update | 追跡中ファイルのみ変更・削除 | 含む。新規は無視 |
git add -p | 対話的にハンク選択 | 選択次第 |
git add -i | 対話モード | 選択次第 |
git add -n | ドライラン(何が add されるか確認のみ) | — |
使用例
# 個別ファイル
git add README.md
# 複数ファイル
git add README.md src/Login.php
# パターン
git add src/*.php
git add '**/*.test.js'
# カレント以下全て
git add .
# 削除されたファイルも含めて全部
git add -A
# 追跡中ファイルのみ(新規は無視)
git add -u
# 確認だけ(ドライラン)
git add -n .
パッチモード(-p)でハンク選択
1つのファイルに「機能追加」と「無関係なフォーマット修正」が混ざっているとき、機能追加だけをステージするために使います。「1コミット1目的」の習慣を支える機能。
git add -p
# Git が差分をハンク(塊)ごとに見せて、それぞれ採用/却下を聞く
# 操作キー:
# y - このハンクをステージ
# n - 飛ばす
# q - 終了
# s - ハンクをさらに小さく分割
# e - ハンクを手動編集
# ? - ヘルプ
ステージ状態の確認
# サマリー
git status
# ステージ済の差分を見る(次回コミットに含まれる内容)
git diff --cached
git diff --staged # ↑のエイリアス
# 未ステージの差分(ワーキングツリー vs ステージ)
git diff
# 全部(ステージ + 未ステージ)
git diff HEAD
ステージから戻す(unstage)
「間違えて add してしまった」場合、ファイル内容は変えずにステージから外せます。
# Git 2.23+ 推奨
git restore --staged file.txt
# 全部 unstage
git restore --staged .
# 旧来の書き方(今でも動く)
git reset HEAD file.txt
git reset HEAD # 全部
# 「ファイルの中身も最新コミット状態に戻す」(破壊的)
git restore file.txt
# 旧: git checkout -- file.txt
.gitignore は git add で尊重される
git add . は .gitignore に書かれたパターンを自動でスキップします。ただし明示的なパス指定なら無視ルールを上書きできます:
# .gitignore に *.log 指定済
git add . # → app.log はスキップされる
git add app.log # → スキップされる(警告)
git add -f app.log # → 強制 add(.gitignore を無視)
git status の見方
$ git status
On branch main
Changes to be committed: ← ステージ済(緑)
(use "git restore --staged ..." to unstage)
modified: src/Login.php
new file: src/Register.php
Changes not staged for commit: ← 未ステージ(赤)
(use "git add ..." to update what will be committed)
modified: README.md
Untracked files: ← 未追跡(新規・赤)
(use "git add ..." to include in what will be committed)
config/local.php
add 後にファイルを更に編集したら
add 後に同じファイルを編集すると、ステージ済のスナップショットと現在のファイルが食い違います。そのままコミットすると add 時点の内容が記録されます。
echo "v1" > a.txt
git add a.txt # ← v1 がステージ
echo "v2" > a.txt # ← ワーキングツリーは v2
git diff # → v1 と v2 の差分(未ステージ部分)
git diff --cached # → v1 がステージされている
git commit -m "..." # → v1 がコミット(v2 は次回コミット対象)
# v2 も入れたければ再 add
git add a.txt
git commit --amend --no-edit # 直前コミットに混ぜる
IDE での統合
- VS Code: Source Control パネルの "+" ボタンでステージ。行単位ステージも可能
- JetBrains IDE: 「Changes」ビューで右クリック → Add to VCS
- GitHub Desktop: チェックボックスで選択
- SourceTree: 「Unstaged」から「Staged」へ移動
FAQ
Q: git add . と git add -A の違いは?
A: Git 2.0 以降はほぼ同じです(削除も含む)。違いは作業対象範囲: .はカレントディレクトリ以下、-Aはリポジトリ全体。
Q: add せずに直接コミットしたい
A: git commit -am "..." で追跡中ファイルの変更を一括 add + commit できます。新規ファイルは含まれません。
Q: バイナリファイルや巨大ファイルは?
A: そのまま add 可能ですがリポジトリが肥大化します。動画・画像・モデルファイルなどは Git LFS の導入を検討。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子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アノテーションとは
最近更新/作成されたページ
- SEO タイトル設計とキーワード配置完全ガイド (CTR / LLMO 対応) 2026-06-10 18:13:56
- Vue.js v-bind 完全ガイド (属性 / クラス / スタイル / Composition API) 2026-06-10 18:13:56
- Twitter (X) プラットフォーム完全ガイド 2026 (API / Premium / 競合) 2026-06-10 18:13:56
- PHP 変数スコープ完全ガイド (global / static / use / Arrow Function) 2026-06-10 18:13:56
- jQuery .height() 完全ガイド (innerHeight / outerHeight / box-sizing) 2026-06-10 18:13:56
- WordPress 主要独自関数完全ガイド (Loop / Enqueue / Hook / Conditional Tag) 2026-06-10 18:13:56
- jQuery 要素・値の削除完全ガイド (remove / detach / empty / val) 2026-06-10 18:13:56
- PHP コメント完全ガイド (// / # / /* */ / PHPDoc) 2026-06-10 18:13:56
- PHP 改行出力 (\n / PHP_EOL / nl2br) 完全ガイド 2026-06-10 18:13:56
- JavaScript 確認ダイアログ完全ガイド (confirm / alert / prompt / dialog) 2026-06-10 18:13:56
- UE5 スクリーンショット保存 (Scene Capture) 完全ガイド 2026-06-10 18:12:53
- UE5 Nav Mesh Bounds Volume 完全ガイド 2026-06-10 18:12:53
- EJS テンプレートの共通化 (include) 完全ガイド 2026-06-10 18:12:53
- UE5 カメラ傾き角度制限完全ガイド (Pitch Min/Max) 2026-06-10 18:12:53
- SQLite 完全ガイド (組み込み RDBMS) 2026-06-10 18:12:53
コメントを削除してもよろしいでしょうか?