💻
Gitチートシート
これは何?
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 # 現在チェックアウトしているローカルブランチの最新コミット
HEAD^ # 1つ前のコミット
HEAD~{n} # n個前のコミット
Discussion