What is it, naokirin?

私の使うGitコマンドまとめ 逆引き編

「私の使うGitコマンドまとめ」の記事を、逆引きとして使えるようにしてみました。
私がよく行っていることを「私の使うGitコマンドまとめ」の記事では書いていないオプションの組み合わせなども書きました。

目次

HEAD、インデックス、ワーキングツリーを理解する

HEAD、インデックス、ワーキングツリーについて
簡易説明

HEADからの相対的にコミットを指定する

HEADから相対的にコミットを指定する
コミットの相対指定

リポジトリを作成する

リポジトリを作成する
git init

作業ファイルのないリモートのリポジトリを作成する
git init --bare --shared=true

管理するファイル(インデックス)を操作する

管理するファイルを指定する(インデックスにファイルを追加する)
git add <ファイル名>

次回のコミット時にコミットする変更を指定する
git add -p

間違えてファイルをaddしてしまった
git rm --cached <ファイル名>

ファイルの移動・リネーム・削除
git mv <元ファイル名> <先ファイル名>
git rm <ファイル名>

特定のファイルを無視する
.gitignoreを使う

コミットを行う

コミットを行う
git commit
git commit -a
git commit -m "コミットメッセージ"

直前のコミットを修正する
git commit --amend

現在の状態を見る

現在の状態を見る
git status

差分を見る

ワーキングツリー、インデックス、コミットからインデックス、コミットとの差分を見る
git diff

コミットログと完全な差分を見る
git log -p

コミットの詳細を見る

コミットの詳細を見る
git show <コミット>

コミットログを見る

コミットログを見る
git log

コミットログをグラフ上にブランチ、タグ、HEADの位置などを表示して見る
git log --oneline --graph --decorate --branches

コミットログでコミット毎に変更のあったファイルを確認する
git log --stat --summary

HEADの遷移を見る

HEADの遷移を見る
git reflog

ブランチの操作をする

ブランチを切り替える(チェックアウトする)
git checkout <ブランチ名>

ブランチを作成する
git checkout -b <ブランチ名>
git branch <ブランチ名>

ブランチを見る
git branch

リモートリポジトリのブランチも含めて見る
git branch -r
git branch -a

ブランチを削除する
git branch -d <ブランチ名>

タグを操作する

タグを打つ
git tag <タグ名>
git tag -a <タグ名> (-m "メッセージ")

タグの一覧を見る
git tag

注釈つきタグの詳細を見る
git show <タグ名>

リモートリポジトリとタグを共有する
git push <リモートurl> <タグ名>

ブランチを統合を行う

ブランチを直線に統合する
git rebase <ブランチ名> + git checkout <派生元ブランチ名> + git reset --hard <ブランチ名>

ブランチをマージする
git merge <ブランチ名>

修正・手戻りを行う

間違えてファイルをaddしてしまった
git rm --cached <ファイル名>
git reset HEAD

直前のコミットを修正する
git commit --amend

一つ以上前のコミットを修正する(コミットの修正、統合)
git rebase -i

git resetしたけど、戻りすぎたので以前のHEADに戻りたい
git reflog + git reset --hard HEAD@{数字}

コミットするブランチを間違えた
git cherry-pick <コミット> + git checkout <ブランチ名> + git reset --hard HEAD^

リポジトリを最適化する

リポジトリを最適化する
git gc

リポジトリの検証をする

リポジトリの検証をする
git fsck
git fsck --full