# branchの操作

branchを作るには、以下のコマンドを叩きます。

```bash
git branch feature1
```

branchの一覧を確認したい場合は、`git branch`にて確認できます。また、どのbranchで作業しているか確認することができます。

```bash
git branch
```

<figure><img src="https://1869761657-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcUBbYqol4PMzZJggiMqV%2Fuploads%2FQW6KP7scDo8YEgBi7yex%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%2015.33.05.png?alt=media&#x26;token=d18190bf-2506-4c5d-b133-8f9eb4566873" alt=""><figcaption></figcaption></figure>

作業branchを切り替える場合は、`git switch`コマンドを叩きます。

```bash
git switch feature1
```

上記実施後、git branchにて確認すると、作業branchが`feature1`に変更されたかと思います。

<figure><img src="https://1869761657-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcUBbYqol4PMzZJggiMqV%2Fuploads%2FKiibqHsUkpxLlrPsbycV%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%2015.36.26.png?alt=media&#x26;token=b5b2a199-ff58-42db-8beb-b77cdf83daa9" alt=""><figcaption></figcaption></figure>

Warpを使用している場合は、以下図のように作業ブランチが常に表示されます。

<figure><img src="https://1869761657-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcUBbYqol4PMzZJggiMqV%2Fuploads%2FsBnOhph8PqoSjrLekjee%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%2015.37.24.png?alt=media&#x26;token=79d94f7a-d409-4a80-bf5e-2d187c217867" alt=""><figcaption></figcaption></figure>

では、ファイルを編集してみましょう。`git_practice`をVSCodeで開きましょう。

```bash
code .
```

a.txtの「hello」の部分を`good evening`に編集しましょう。

<pre data-title="a.txt"><code>sample1
tarou
<strong>good evening
</strong></code></pre>

その後、Warpにて差分を確認しましょう。

```bash
git status
```

a.txtが赤文字で表示されているかと思います。こちらをcommitしましょう。

```bash
git add .
```

```bash
git commit
```

メッセージは以下とします。

```
a.txtの一部文言を修正 hello -> good evening
```

`git log`にてcommitを確認してみましょう。

```
git log --oneline
```

以下のように、`feature1`にてcommitされたことが確認できます。

また、`HEAD`が`feture1`にあることも確認できます。

<figure><img src="https://1869761657-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcUBbYqol4PMzZJggiMqV%2Fuploads%2FvE5pZ3J7FhoBw4Cde2qQ%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%2015.49.55.png?alt=media&#x26;token=5e1b730c-cfdd-4e1c-9245-134d0725e5da" alt=""><figcaption></figcaption></figure>

ここで、`main`のbranchに切り替えましょう。

```bash
git switch main
```

上記実施後、`git log`にて、HEADが`main`に移動し、`main`時点のcommitのみ表示され、`a.txt`も元々の状態に戻ったかと思います。

<figure><img src="https://1869761657-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcUBbYqol4PMzZJggiMqV%2Fuploads%2Ft62r0vp1o0sMu6SDKdrT%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%2015.56.10.png?alt=media&#x26;token=e797555d-1a61-4ee2-bb29-9cceba906772" alt=""><figcaption></figcaption></figure>

また、branch作成と切り替えを以下のコマンドにて同時に行うことができます。

```bash
git switch -c feature2
```

branchを削除する場合は、一旦別のbranchに移動して、

```bash
git switch main
```

以下のコマンドを叩きます。

```bash
git branch -D feature2
```
