git コマンド チートシート

ローカルリポジトリ作成〜コミットまで

新規リポジトリの作成

git init

ステージングの状態の確認

git status

変更ファイルをステージング

git add [ファイル名]

ファイルの変更差分の確認

git diff 

ステージングしたファイルの差分確認

git diff --staged

ステージングしたファイルを記録する

git commit -m "コミットメッセージ" 

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

git commit --amend -m "コミットメッセージ" 

コミット後の確認

コミット履歴の確認

git log

コミット内容の確認

git show [コミットID]

コミット同士の差分を確認する

git diff[コミットID]..[コミットID]

ブランチ同士の差分の確認

git diff [ブランチ名]..[ブランチ名]

リモート追跡ブランチとの差分確認する場合

git pullする前に確認
git fetch origin
git diff HEAD..origin/main

git pushする前に確認
git diff origin/main..HEAD

作業の修正

作業中の変更を前回のコミット時まで戻す

git restore [ファイル名]

ステージングを解除する

git restore --staged [ファイル名]

特定のファイルを、特定のコミット時点に戻す

git restore --source[コミットID][ファイル名]

コミットを取り消す

git reset —soft HEAD^
—softは直前のコミットのみ取り消す
git reset —mixed HEAD^
—mixedはコミットとステージングを取り消す
git reset —hard HEAD^
—hardはコミット、ステージング、作業エリアまで取り消す

^は何個前のHEADかを表す。^^とすれば2個前など。

操作履歴の確認(ミスした操作をresetするときなどに参照できる)

git reflog

コミットを取り消す

git revert [打ち消したいコミットID]
コミットメッセージの編集後Esc→:wqで確定

作業中のコミットしたくない内容を一時退避

git stash save

stashで保存したリストを見る

git stash list

stashの復元と削除

git stash apply stash@{0} 復元
git stash drop stash@{0} 削除

上記をまとめて実行
git stash pop stash@{0}

stash@{0}やHEAD{0}での実行でエラーになったときの対処法(windows power shell)

ブランチの作成、切り替え、マージ

ブランチを作る

git branch [ブランチ名]

ブランチの一覧を確認する

git branch

GitHubのブランチも含めて確認する

git branch -a

ブランチを切り替える(HEAD切り替え)

git switch [ブランチ名]

ブランチを新規作成して切り替える

git switch -c [ブランチ名]

変更をマージする(masterブランチから操作)

git merge [ブランチ名]

GitHubのブランチをローカルのブランチにマージしたい

git merge origin/main

コンフリクトしたら

vi [ファイル名]

で正しいコミット内容に修正する

マージ済みのブランチの一覧表示

git branch --merged [ブランチ名]

マージ済みローカルブランチの削除

git branch -d [ブランチ名]

まだマージ完了していないブランチを削除する場合は -D を使う

必要なコミットだけを取り込むチェリーピック

別のブランチから今いるブランチへ必要なコミットだけコピーしてくる

git cherry-pick [コミットID]

複数のコミットを指定する場合
git cherry-pick [コミットID①]..[コミットID②]

コミットせず作業ディレクトリいだけ変更する
git cherry-pick -n [コミットID] 

マージとは別の合流リベースコマンド

①のブランチを②のブランチに合流させる

git rebase origin/[ブランチ名]① [ブランチ名]②

フォースプッシュ(リモートを無視してローカルを正として強引にプッシュを行う)

git push origin -f

リポジトリ内の検索

特定の文字列を含む箇所の検索(大文字小文字区別する)

git grep "検索したい文字列"

コミットやブランチの指定
git grep "検索したい文字列" [コミットIDやブランチ]

ファイル名のみ表示
git grep -l "検索したい文字列"

ファイル名と行番号が表示されるように設定変更する場合

git config --global grep.lineNumber true

各行にコミットした人の名前と日時を表示する

git blame [ファイル名]

Git Hubとの連携

GitHubと連携するための設定

git config --global 
git config --global 

リモートリポジトリを追加

git remote add origin [URL]

git remote add [リモートリポジトリの呼び名] [URL]

リモートリポジトリの削除(連携を解除するだけ)

git remote rm [リモートリポジトリの呼び名]

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

git remote -v

リモートリポジトリに変更情報をアップロードする

git push origin [ブランチ名]

リモートリポジトリから最新の情報を取得し反映する(fetch+merge)

git pull origin [ブランチ名]

リモートリポジトリから最新の情報を取得する

git fetch origin

← Go home
;