GitHub ユーザーのための Git 操作まとめ


#  はじめに 

この記事は [法政大学情報科学部 Advent Calendar 2021](https://qiita.com/advent-calendar/2021/cis_hosei) 24日目の記事です。

こんにちは、情報科学部の日比野です。
本日はクリスマスイブですね！皆さんいかがお過ごしでしょうか。

さて、皆さんは最大級 Git プラットフォーム __GitHub__ を活用していますか？
今年の 2021 年 8月 13 日に GitHub の認証方法が変更され、パスワード認証が廃止されてしまいました。
その代わりにパーソナルアクセストークンを使用した認証方法になったのですが、そのせいで JetBrains 製をはじめ、数々のデスクトップアプリケーションで Git 操作が出来なくなってしまいました。

一応対策はないことはないのですが、CUI に慣れるということも兼ねて、今回は Git 操作 (コマンド) について、最低限これだけ知っていれば困らないというものを解説していきたいと思います！
どこの開発現場でも必ずと言っていいほどソースコードやバージョン管理に Git を活用しています。
大学でも、プログラミングの授業のソースコードを管理したりプロジェクトや研究室でチーム開発をする際の共有に使ったりと、Git を使う場面は学生でも意外と多くあります！

今回紹介するのさえ押さえておけば、まず困ることはないでしょう！
逆に、このレベルは知らないと馬鹿にされるので、これだけはしっかりと習得しましょう！


# 想定対象者

お使いの環境に Git がインストールされてあり、GitHub を使ったことがあるといった人向けになっています！
そのため、「そもそも Git とは？」のような Git の概念についての説明は致しません。
Git の仕組みや概念自体良く分かっていないという方は、以下の記事などを参考に理解を深めてもらえればと思います！

- [初心者にgitの概念を説明してみる](https://qiita.com/t-kubo0325/items/5a2b15cef0aaa92c9713)


# パーソナルアクセストークンを取得

まずは GitHub 上でパーソナルアクセストークンを取得していきます！

GitHub にサインインし、右上のアイコンから、__Settings__ 。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1026026/d6517b2a-d98f-d16e-444e-c0f195bfebbc.png)
左のタブの下の方にある、__Developer settings__ 。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1026026/43f609b1-6bda-d1c9-bdd5-d230308b3beb.png)
左のタブの一番下にある、__Personal access tokens__ 。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1026026/5bead693-36a1-2174-742e-87839737b44c.png)
右上にある、__Generate new token__ から、新しいアクセストークンを作成。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1026026/e2bbc316-53d4-1abd-a9c7-583d506fb5ba.png)
トークンの名前と有効期限を設定。有効期限は一応無期限にできますが、警告が出るのでやめておいた方がいいと思います。(セキュリティ的に危ないです。)
その下は、最低限 __repo__ にはチェックを入れておいてください。あとは任意です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1026026/d89ffe57-215f-8e2e-fbc9-6e942716b54e.png)
最後に、一番下にある、__Generate token__ でトークンを作成。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1026026/bd3dbd78-2843-1cef-8fe3-f78cd65bb18a.png)
すると、最初の画面にアクセストークンが表示されるので、__必ず__控えておいてください。これを逃すと一生確認できませんので、注意してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1026026/0cc3c758-bd6f-712a-6275-1b64d64958c8.png)

これにて、パーソナルアクセストークンは完了です！
__今後、GitHub のリポジトリでパスワードを聞かれた際はこのアクセストークンを入力してください！__
以降は、Git による操作 (コマンド) について、説明していきます！


## Git セットアップ (ローカルリポジトリ作成)

```bash
$ git init
```

## ステージングエリア (一時待機場) にアップロード(Add)

```bash
$ git add .
# 個別の場合は
$ git add ファイル名 ファイル名　ファイル名
```

## ローカルリポジトリにアップロード(Commit)

```bash
$ git commit -m "コミットメッセージ"
# 複数行
$ git commit -v
```

## Git 状態確認

```bash
$ git status
```

## 変更内容の差分確認

```bash
$ git diff 
```

## 変更履歴

```bash
$ git log
```

# 【リモートリポジトリ関連】

## リモートリポジトリの追加(Clone)

```bash
$ git clone リポジトリURL
```

## リモートリポジトリの確認

```bash
$ git remote -v
```

## リモートリポジトリの変更を取り込む(Pull)

```bash
$ git pull origin main  # main はブランチ名
# 2回目からは
$ git pull
```

## リモートリポジトリ登録

```bash
$ git remote add origin リポジトリURL
```

## リモートリポジトリにアップロード(Push)

```bash
$ git push origin main  # main はブランチ名
# 2回目からは
$ git push
```

# 【ブランチ関連】

## ブランチの確認

```bash
$ git branch
```

## ブランチの作成

```bash
$ git branch ブランチ名
```

## ブランチの移動

```bash
$ git checkout ブランチ名
# -b オプションをつけると、ブランチを作成して移動する
$ git checkout -b ブランチ名
```

## ブランチに Push

```bash
$ git push origin ブランチ名
```

## ブランチのマージ

```bash
# master ブランチに移動してから
$ git merge ブランチ名
```

## ブランチのリベース

```bash
# master ブランチに移動してから
$ git rebase ブランチ名
```

## ブランチ削除

```bash
$ git branch -d ブランチ名
```

# 終わりに

お疲れさまでした。

ひと通り見てきましたが、どうだったでしょうか。
個人で使う分にはもう少し削れますが、チーム開発となるとやはり今回紹介したものは最低限知っておいた方がいいと思います！

とはいえ、そんなすぐに覚えられるものでもないので、この記事を見てしっかりと使えるようになってくださいね！

ここまでお付き合いいただき、ありがとうございました！
それでは、良い Git ライフを！！！

# 参考文献

- [GitHub 認証方法変更について](https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/)