# stagingエリア

Warpにて、`git_practice`ディレクトリにいる状態で、以下のコマンドを叩きましょう。

```bash
echo sample1 > a.txt
```

こちらのコマンドは、ファイルを作成しつつ、書き込む処理になります。

同様に、もう一つファイルを作成しましょう。

```bash
echo sample2 > b.txt
```

作成後、Warpに以下のように`+2`と表示されているかと思います。こちらは、差分があるファイルの数が表示されています。

<figure><img src="https://1869761657-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcUBbYqol4PMzZJggiMqV%2Fuploads%2FtH2U666zBqrstPTXWdcu%2F%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-11-25%208.50.49.png?alt=media&#x26;token=68965ce3-1b68-413e-9352-a7f2883a3bba" alt=""><figcaption></figcaption></figure>

次に以下のコマンドを叩いてみましょう。

```bash
git status
```

上記のコマンドを叩くと以下のように表示されるかと思います。

<figure><img src="https://1869761657-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcUBbYqol4PMzZJggiMqV%2Fuploads%2FDwuTnpLZNTBvDlz82rOy%2F%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-11-25%208.54.10.png?alt=media&#x26;token=d15a2580-cb6e-437a-ae3b-096a1fc11ddb" alt=""><figcaption></figcaption></figure>

差分があったファイル名が赤く表示されます。

この変更分を保存するために、まずはstagingエリアに追加する必要があり、`git add`コマンドを使用します。

`git add`する際に、`a.txt`のみを追加したい場合は、`git add a.txt`のように指定することができます。複数指定する場合は、`git add a.text b.txt`とスペースを開けて指定します。

また、差分すべてを追加したい場合は、`git add .`とすると、すべての差分を追加することができます。こちらは実務でよく使用することになるかと思います。

実際に以下のコマンドを叩きましょう。

```bash
git add .
```

再度以下コマンドを叩きましょう。

```bash
git status
```

<figure><img src="https://1869761657-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcUBbYqol4PMzZJggiMqV%2Fuploads%2FLwADaOdPutEf7Z7wYfho%2F%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-11-25%209.05.25.png?alt=media&#x26;token=96bd1353-f925-410a-8dc2-a34a31951bd2" alt=""><figcaption></figcaption></figure>

上記のように、緑色にて2つのファイル名が表示されるかと思います。

緑色に表示されているものが、stagingエリアに存在するものになります。

ではここで、以下コマンドにて、a.txtを編集します。

`>>` とすると、文章を追加することができます。

```bash
echo tarou >> a.txt
```

上記コマンドを叩いた後、以下を叩くと、

```bash
git status
```

<figure><img src="https://1869761657-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcUBbYqol4PMzZJggiMqV%2Fuploads%2FYAufY61l1yqy8JFkbRP7%2F%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88%202023-11-25%209.12.01.png?alt=media&#x26;token=08a8bb83-7efc-4f99-adb4-00fd77502cf3" alt=""><figcaption></figcaption></figure>

緑色にて2つのファイル名と、先ほど編集した`a.txt`が赤文字で表示されるかと思います。

これは、stagingに上がっているファイルはgit add .した時点のものが保存されており、以下のような内容になっているので、今回の編集分はまだstagingには上がっていないため、赤く表示されます。

{% code title="a.txt" %}

```
sample1
```

{% endcode %}

`echo tarou >> a.txt`での変更分もstagingに上げたい場合は、再度`git add`コマンドを叩く必要があります。

```
git add .
```
