LoginSignup
1
1

More than 1 year has passed since last update.

git コマンド チートシート

Last updated at Posted at 2021-10-03

自分用のチートシート
前提 WindowsPowerShellでGitをインストール済み

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

新規リポジトリの作成

git init

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

git status

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

git add [ファイル名]

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

git diff 

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

git diff --staged

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

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

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

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

コミット後の確認

コミット履歴の確認

git log
**:qで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個前など。

~n(n個前のコミットに戻る)やコミットIDで戻りたいコミットの指定も可能。

操作履歴の確認(ミスした操作を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)

https://crieit.net/posts/PowerShell-Git-reset-stash参考

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

ブランチを作る

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 [user.name](http://user.name) "登録したユーザー名"
git config --global [user.email](http://user.email) [登録したemail]

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

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

エイリアス設定したときWindowsPowerShellで少し手間取ったので今度それも記事に使用と思った。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1