git addコマンドの使い方!ステージエリアにファイルを追加する!

gitGit

gitのgit addコマンドの使い方について書いています。
git addコマンドの説明の後に、実際にコマンドを使用したり、使いそうなトピックスを紹介しています。

載せているコマンドについては、Gitのバージョン2.32.0で確認しました。
git addについての公式のドキュメントは、こちらにあります。

PR

git addコマンドとは?

git addコマンドを使うと、ステージエリアにファイルを追加することができます。

gitではステージエリアに、新規のファイルや編集したファイルを一度乗せた後にコミットします。
ファイルをステージエリアに追加したら、git commitコマンドを使ってコミットします。

その後、git pushコマンドを使用することで、ステージエリアに乗せたファイルをリモートリポジトリにプッシュ(同期)します。

コミットからプッシュまでのコマンドを実際に試してみた記事があるので、リンクをおいておきます。
・【Git入門】commitした後にgit pushしてみよう【わかりやすく解説】

PR

ステージエリアにファイル追加する

実際にファイルを追加する場合には、下記のようにコマンドを使用します。

$ git add ファイルパス

git addコマンドの後に、追加したいファイルまでのパスを記載します。
実行するとステージエリアに追加されます。

試してみる

実際にgit addコマンドを使ってみます。
今回はscriptディレクトリ配下に、main.jsファイルを作成しました。

git statusコマンドで現在の状態を確認すると、下記のようにUntracked fileの方に追加したファイルが表示されています。

$ git status
HEAD detached at ff30a53
Untracked files:
  (use "git add <file>..." to include in what will be committed)
        script/

表示を確認したら、下記のようにコマンドを使用します。

$ git add script/main.js

そして、もう一度git statusコマンドで状態を確認します。
そうすると、下記のように”Changes to be committed”の箇所に追加されました。

$ git status            
HEAD detached at ff30a53
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   script/main.js

これで、コミットが可能な状態になっています。

git addで複数ファイルを追加したい

git addで複数ファイルをステージエリアに追加する方法です。

全てのファイルを追加する

全てのファイルを追加する場合には、下記のコマンドを使用します。

$ git add -A

このコマンドはプロジェクト配下のどこにいても、変更や新規作成された全てのファイルが対象になります。

指定ディレクトリ配下の全てのファイルを追加する

指定ディレクトリ配下の変更や、新規作成した全てのファイルを追加するには「.」を指定します。

$ git add .

現在のカレントディレクトリ配下の全てが対象になります。
そのため、プロジェクトディレクトリのトップで実行すると、全てになります。
(※特定のディレクトリ配下で実行すると、そのディレクトリ配下の全てになります)

更新があった全てのファイルを対象にする

新規を対象にせずに、更新のあった全てのファイルのみを対象にするには、下記のコマンドを使用します。

$ git add -u

こうすると、変更があった全てのファイルが対象になります。
このコマンドもプロジェクト配下のどこでも使えます。

ファイルパスを複数指定して追加する

ファイルパスを複数指定して、指定したファイルのみをステージエリアに追加することができます。
下記のように、コマンドの後に複数のファイルパスを指定することが可能です。

$ git add ファイルパス1 ファイルパス2 ファイルパス3...

例としては、下記のように複数指定できます。

$ git add .env.example config/app.php app/Http/Controllers/LogTesterController.php

ワイルドカードを使用して追加する

ワイルドカードを使用して、ファイルを複数追加することも可能です。
例えば、下記のように使用します。

$ git add config/*

こうすると、config配下の変更・新規ファイルが全て対象になります。
他にも、下記のように特定のファイルの種類を対象にすることができます。

$ git add *.md

上記の場合だと、現在のカレントディレクトリにあるマークダウン(.md)ファイルを対象に追加します。

追加されるファイルを確認する

-nオプションを使うことで、ファイルを追加する前に、追加対象のファイルを確認することができます。
コマンドを実行すると、下記のように追加されるファイルパスを確認することができした。

$ git add *.md -n
add 'test2.md'
add 'test3.md'

追加したファイルをステージエリアから戻したい

ステージエリアからファイルを戻すには、git resetコマンドを使用します。

$ git reset

オプションなど、何もつけずに使うとステージエリアに乗せたファイルを全て解除します。
ステージエリアに乗せた一部のファイルを解除するには、ファイルパスを渡します。

$ git reset ./test2.md

こうすることで、指定したファイルのみ解除することができます。

git resetコマンドについては、下記に書いたので確認してみてください。
・git resetの使い方!ステージのリセット・コミットの取り消し

コメント

タイトルとURLをコピーしました