gitコマンドのうち、すぐに使い方を忘れてしまうものをメモっておきます。
ファイルの差分を調べる
コマンド | 処理内容 |
---|---|
git diff | 作業ツリーとステージの差分を表示する |
git diff --staged | ステージとHEADの差分を表示する |
git diff HEAD | 作業ツリーとHEADの差分を表示する |
git diff コミット1 コミット2 | コミット間の差分を表示する |
git diff コミット1 コミット2 -- ファイル | 特定のファイルについて、コミット間の差分を表示する |
git show コミット | あるコミットで何をしたかを見る |
ステージ内容の表示
コマンド | 処理内容 |
---|---|
git ls-files | ステージされているファイルやディレクトリを表示する |
git ls-files -s | ハッシュ値と一緒にステージされているファイルやディレクトリを表示する |
git show ハッシュ値 | ハッシュ値が指すファイルの中身を表示する |
ステージ内容の操作
コマンド | 処理内容 |
---|---|
git reset | ステージの内容をHEADに合わせる |
git reset -- ファイル | 特定のファイルだけ、ステージの内容をHEADに合わせる |
git reset --hard | ステージと作業ツリーの内容をHEADに合わせる |
git checkout -- ファイル名 | 作業エリアのファイルをステージからチェックアウトする |
ファイル/ディレクトリ操作
コマンド | 処理内容 |
---|---|
git mv 旧名称 新名称 | ファイル名やディレクトリ名を変更する |
git rm ファイル名 | ファイルをGit管理下から外す (作業ツリーのファイルも削除する) |
git rm -r ディレクトリ名 | ディレクトリをGit管理下から外す (作業ツリーのディレクトリも削除する) |
git rm --cached ファイル | ファイルをGit管理下から外す (作業ツリーのファイルは残す) |
git rm -5 --cached ディレクトリ | ディレクトリをGit管理下から外す (作業ツリーのファイルは残す) |
リポジトリ操作
コマンド | 処理内容 |
---|---|
git checkout コミット -- ファイル | コミットからファイルを取り出す(HEADの位置は不変) ファイルを取り出した後で作業ツリーをHEADの状態に戻す場合は、git reset --hardを使う。 |
コミット操作
コマンド | 処理内容 |
---|---|
git reset --hard コミット | 履歴の先端を指定したコミットに移動し、それ以降のコミットを破棄する(ステージ&作業ツリーはコミットの内容で上書きされる) |
git reset コミット | 履歴の先端を指定したコミットに移動し、それ以降のコミットを破棄する(ステージ:上書き/作業ツリー:そのまま) |
git reset --hard コミット | 履歴の先端を指定したコミットに移動し、それ以降のコミットを破棄する(ステージ&作業ツリー:そのまま) |
git commit --ammend | HEADが指すコミットを捨て、現在のステージの状態をコミットしなおす。 |