💻

Gitチートシート

2021/12/15に公開

これは何?

Gitを本格的に業務で使用し始めて、コマンドをすぐ忘れてしまうのでまとめたものです。
せっかくまとめたので誰かの役に立てばと思い、記事を公開することにしました。

Gitのバージョンを確認

git version

ユーザー名とメールアドレスを設定

git config --{適用範囲} user.name "{ユーザー名}"
git config --{適用範囲} user.email {メールアドレス}
  • 適用範囲:system,global,local

指定したディレクトリをGitの管理対象に追加

git init ディレクトリ名

リモートリポジトリに別名を付けて追加

git remote add {リモートリポジトリ名} {リモートリポジトリURL}
  • リモートリポジトリ名は任意の名前

ローカルに追加したリモートリポジトリの一覧を表示

git remote

リモートリポジトリのデフォルトブランチを取得

git clone {リモートリポジトリのURL}

リモートリポジトリの対象ブランチを取得

git clone -b {ブランチ名} {リモートリポジトリのURL}

リモートブランチとローカルブランチの一覧を表示

git branch -a

対象ブランチを新規作成し、切り替え

git switch -c {ブランチ名}

対象ブランチに切り替え

git switch {ブランチ名}

変更したファイルの一覧を表示

git status

ワークツリーにある対象ファイルの変更を取り消し

git restore {ファイル名}

ワークツリーにあるファイルの差分を表示

git diff

変更したファイルをインデックスにステージング

git add .

対象ファイルをインデックスにステージング

git add {ファイル名}

対象ファイルをインデックスから削除

git reset HEAD {ファイル名}

インデックスにあるファイルの差分を表示

git diff --cached

インデックスにあるファイルをコミット

git commit -m "{メッセージ}"

コミットメッセージを修正

git commit --amend -m "{メッセージ}"

インタラクティブ(双方向)にコミットを修正

git rebase -i {コミットID or HEAD^}

コミットの取り消し

git reset --{オプション} HEAD^
  • オプション
    • hard:ワークツリーの内容を戻し、コミットを取り消し
    • soft:ワークツリーの内容はそのままにし、コミットを取り消し

間違ったリベースの取り消し

git rebase --abort

直前のコミットをもとに戻すコミットを作成

git revert HEAD

対象コミットの内容を表示

git show {コミットID}

リモートリポジトリにプッシュ

リモートリポジトリのブランチ名を省略

git push {リモートリポジトリの別名} {ローカルリポジトリのブランチ名}
  • ローカルリポジトリのブランチ名と同名のリモートリポジトリのブランチ名に反映される

ブランチ名を省略

git push {リモートリポジトリの別名}
  • 現在チェックアウトしているローカルリポジトリのブランチが対象となる
  • ローカルリポジトリのブランチ名と同名のリモートリポジトリのブランチ名に反映される

リモートリポジトリの別名とブランチ名を省略

git push
  • 現在チェックアウトしているローカルリポジトリの上流となるリモートリポジトリが対象となる
  • 現在チェックアウトしているローカルリポジトリのブランチが対象となる
  • ローカルリポジトリのブランチ名と同名のリモートリポジトリのブランチ名に反映される

リモートリポジトリから最新の履歴を取得

git fetch {リモートリポジトリの別名}

現在チェックアウトしているブランチへリベース

git rebase {リモートリポジトリの別名}/{リモートリポジトリのブランチ名}

現在チェックアウトしているブランチへマージ

git merge {リモートリポジトリの別名}/{リモートリポジトリのブランチ名}

ログを出力

git log

ログを1行で表示

git log --oneline
HEAD # 現在チェックアウトしているローカルブランチの最新コミット
HEAD^ # 1つ前のコミット
HEAD~{n} # n個前のコミット

Discussion