忘れがちなGitチートシート

Gitコマンドって忘れがちですよね。
パッと引き出せるようにチートシートを作成しました。

## 初期設定

- `git init`: [現在のディレクトリを Git リポジトリとして初期化する。](https://www.atlassian.com/ja/git/tutorials/setting-up-a-repository/git-init)
- `git config --global user.name "{ユーザー名}"`: [ユーザー名を設定する。](https://www.atlassian.com/ja/git/tutorials/setting-up-a-repository/git-config#global-git-config)
- `git config --global user.email "{メールアドレス}"`: [メールアドレスを設定する。](https://www.atlassian.com/ja/git/tutorials/setting-up-a-repository/git-config#global-git-config)
- `git config --global core.editor "{エディタ名}"`: [デフォルトのエディタを設定する。](https://www.atlassian.com/ja/git/tutorials/setting-up-a-repository/git-config#global-git-config)
- `git config --global color.ui true`: [カラー表示を有効にする。](https://git-scm.com/book/ja/v2/Git-%E3%81%AE%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA-Git-%E3%81%AE%E8%A8%AD%E5%AE%9A#_git_%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8B%E8%89%B2)
- `git config --global pull.rebase true`: [pullをする時にrebaseするかmergeするかを設定する。](https://www.atlassian.com/ja/git/tutorials/setting-up-a-repository/git-config#global-git-config)
- `git config --list`: [git configの設定値一覧を確認する](https://www.atlassian.com/ja/git/tutorials/setting-up-a-repository/git-config)
（`git config --list | grep '^\(user\.\|core\.\|remote\.\)'` のようにすれば情報を絞れます）

## コミット

- `git add {ファイル名}`: [変更したファイルをステージングする。](https://www.atlassian.com/ja/git/tutorials/saving-changes/git-add)
- `git add .`: [変更したすべてのファイルをステージングする。](https://www.atlassian.com/ja/git/tutorials/saving-changes/git-add)
- `git add -p`: [変更した箇所をステージングする。](https://www.atlassian.com/ja/git/tutorials/saving-changes/git-add)
- `git commit -m "{コミットメッセージ}"`: [ステージングしたファイルをコミットする。](https://www.atlassian.com/ja/git/tutorials/saving-changes/git-commit)
- `git commit -a`: [ステージング不要で、すべての変更をコミットする。](https://www.atlassian.com/ja/git/tutorials/saving-changes/git-commit)
- `git commit --amend`: [直前のコミットを修正する。](https://www.atlassian.com/ja/git/tutorials/rewriting-history/git-commit--amend)

## ブランチ

- `git branch`: [ローカルに存在するブランチの一覧を表示する。](https://www.atlassian.com/ja/git/tutorials/using-branches/git-branch)
- `git branch {ブランチ名}`: [新しいブランチを作成する。](https://www.atlassian.com/ja/git/tutorials/using-branches/git-branch)
- `git branch -d {ブランチ名}`: [ブランチを削除する。](https://www.atlassian.com/ja/git/tutorials/using-branches/git-branch)
- `git switch {ブランチ名}`: [指定したブランチに切り替える。](https://git-scm.com/docs/git-switch)
- `git switch -c {ブランチ名}`: [新しいブランチを作成して、そのブランチに切り替える。](https://git-scm.com/docs/git-switch)
- `git checkout -b {ブランチ名}`: [新しいブランチを作成して、そのブランチに切り替える。](https://www.atlassian.com/ja/git/tutorials/using-branches/git-checkout)
- `git merge {ブランチ名}`: [指定したブランチを現在のブランチにマージする。](https://www.atlassian.com/ja/git/tutorials/using-branches/git-merge)
- `git merge --no-ff {ブランチ名}`: [マージコミットを作成して、履歴を残す。](https://www.atlassian.com/ja/git/tutorials/using-branches/git-merge)
- `git rebase {ブランチ名}`: [指定したブランチを現在のブランチにリベースする。](https://www.atlassian.com/ja/git/tutorials/rewriting-history/git-rebase)
- `git rebase -i {コミットID}`: [インタラクティブリベースを実行する。](https://www.atlassian.com/ja/git/tutorials/rewriting-history/git-rebase)

## 履歴

- `git log`: [コミット履歴を表示する。](https://www.atlassian.com/ja/git/tutorials/git-log)
- `git log --oneline`: [コミット履歴を1行で表示する。](https://www.atlassian.com/ja/git/tutorials/git-log#git-log--oneline)
- `git log --graph`: [コミット履歴をグラフで表示する。](https://www.atlassian.com/ja/git/tutorials/git-log#git-log--graph)
- `git log --graph --oneline --decorate --all`: [全てのブランチのコミット履歴をグラフで表示する。](https://www.atlassian.com/ja/git/tutorials/git-log#git-log--graph--oneline--decorate--all)
- `git diff`: [差分を表示する。](https://www.atlassian.com/ja/git/tutorials/saving-changes/git-diff)
- `git diff {コミットID1} {コミットID2}`: [指定したコミット間の差分を表示する。](https://www.atlassian.com/ja/git/tutorials/saving-changes/git-diff)
- `git blame {ファイル名}`: [各行の変更を表示する。](https://www.atlassian.com/ja/git/tutorials/inspecting-a-repository/git-blame)
- `git stash`: [変更を一時的に退避する。](https://www.atlassian.com/ja/git/tutorials/saving-changes/git-stash)
- `git stash list`: [退避した変更の一覧を表示する。](https://www.atlassian.com/ja/git/tutorials/saving-changes/git-stash)
- `git stash pop`: [最後に退避した変更を復元する。](https://www.atlassian.com/ja/git/tutorials/saving-changes/git-stash)
- `git cherry-pick {コミットID}`: [指定したコミットを現在のブランチに取り込む。](https://www.atlassian.com/ja/git/tutorials/git-cherry-pick)

## リモート

- `git remote`: [リモートリポジトリの一覧を表示する。](https://www.atlassian.com/ja/git/tutorials/syncing/git-remote)
- `git remote add {リモート名} {リモートURL}`: [リモートリポジトリを追加する。](https://www.atlassian.com/ja/git/tutorials/syncing/git-remote)
- `git remote remove {リモート名}`: [リモートリポジトリを削除する。](https://www.atlassian.com/ja/git/tutorials/syncing/git-remote)
- `git push {リモート名} {ブランチ名}`: [ローカルのブランチをリモートリポジトリにプッシュする。](https://www.atlassian.com/ja/git/tutorials/syncing/git-push)
- `git push {リモート名} --delete {ブランチ名}`: [リモートリポジトリのブランチを削除する。](https://www.atlassian.com/ja/git/tutorials/syncing/git-push)
- `git pull {リモート名} {ブランチ名}`: [リモートリポジトリから変更を取得してマージする。](https://www.atlassian.com/ja/git/tutorials/syncing/git-pull)
- `git fetch {リモート名} {ブランチ名}`: [リモートリポジトリから変更を取得する。](https://www.atlassian.com/ja/git/tutorials/syncing/git-fetch)

## タグ

- `git tag`: [タグの一覧を表示する。](https://www.atlassian.com/ja/git/tutorials/inspecting-a-repository/git-tag)
- `git tag {タグ名}`: [新しいタグを作成する。](https://www.atlassian.com/ja/git/tutorials/inspecting-a-repository/git-tag)
- `git tag {タグ名} {コミットID}`: [指定したコミットにタグを作成する。](https://www.atlassian.com/ja/git/tutorials/inspecting-a-repository/git-tag)
- `git tag -a {タグ名} -m "{メッセージ}"`: [アノテーションタグを作成する。](https://www.atlassian.com/ja/git/tutorials/inspecting-a-repository/git-tag)