Git Add
最終更新
git add は変更をステージングエリア(インデックス)へ移し、次のコミットに含めるよう印を付けます。1 つのファイルをステージする、git add . で一度にすべてをステージする、-p で個々のチャンクを対話的に選ぶ、といったことができます。ステージングはファイルを編集してからコミットするまでの間のステップです。
これらをターミナルプレイグラウンドで試してみましょう。ブラウザ内の本物のシェルで、インストールは不要です。
構文
| Command | What it does |
|---|---|
git add file.txt | 1 つのファイルをステージする |
git add . | 現在のフォルダ内のすべての変更をステージする |
git add -A | リポジトリ全体のすべての変更をステージする |
git add -p | 選択したチャンクを対話的にステージする |
git add *.js | パターンに一致するファイルをステージする |
git restore --staged file.txt | ファイルをアンステージする(変更は保持) |
よくあるケース
| Goal | Command |
|---|---|
| すべてをステージする | git add . |
| ファイルの一部をステージする | git add -p |
| ファイルをアンステージする | git restore --staged file.txt |
| 何がステージされているか確認する | git status |
git add に関するよくある質問
git add は何をしますか?
変更をステージします。つまり次のコミットに含まれるよう変更をインデックスにコピーします。ファイルを編集してもステージはされません。
git add <file> を実行して準備完了と印を付けます。その後 git commit がステージされている内容をそのまま記録します。ステージングにより、一部の変更だけをコミットし、残りを後回しにできます。git add . と git add -A の違いは何ですか?
git add . は現在のディレクトリとその配下の変更をステージし、新規・変更・削除されたファイルを含みます。git add -A は現在のディレクトリに関係なくリポジトリ全体の変更をステージします。リポジトリのルートでは両者は同じ動作になり、サブフォルダにいるときに違いが出ます。ファイルの一部だけをステージするには?
git add -p(パッチモード)を使います。Git は各変更(「ハンク」)を順に示し、それをステージするか尋ねるので、1 つのファイル内の無関係な編集を別々のコミットに分けられます。ハンクをステージするには y、スキップするには n、さらに分割するには s を押します。ファイルをアンステージするには?
git restore --staged <file>(新しい Git)または git reset <file>(古い Git)を実行します。どちらも作業ツリーの編集内容を残したままファイルをステージングエリアから外します。git add の逆です。これをオンラインで練習できますか?
はい。ターミナルプレイグラウンドを開いて、ブラウザ内の本物のシェルで
git add を実行できます。インストールは不要です。Coddy の無料の対話型 Git コースでも、ステージングとコミットを段階的に扱っています。