キロクのブログ

RubyやRailsで学んだことを記録するためのブログ

Gitのよく使うコマンド

ファイルの変更の確認

$ git status

コミットする前などにどのファイルが変更されたか確認するコマンド

changes not staged for commit

コミットも、コミット前のステージにも変更が記録されてないファイルがある状態

untracked files

コミットも、コミット前のステージにも存在自体記録されてないファイルがある状態

changes to be commited

ステージにはあるけど、コミットされていないファイルがある状態

変更履歴の確認

$ git log

コミットの履歴などを確認するコマンド。 コミットした日付、ユーザー、コミットメッセージなどが確認できる。qキーで終了。

$ git log --oneline

コミットメッセージ、コミットしたブランチが一行で簡潔に表示される

$ git log -p <ファイル名>

ファイル名を指定して確認することもできる

ファイルの削除を記録

$ git rm <ファイル名orディレクトリ名>

指定したファイルまたはディレクトリの削除とgit addを一度に行えるコマンド。 作業ディレクトリとステージ、両方から削除できる。

$ git rm --cached <ファイル名orディレクトリ名>

指定したファイルまたはディレクトリを、作業ディレクトリには残したまま、ステージの記録からは削除するコマンド。 (必要なファイルだけど、プライバシーの関係上gitにはあげときたくないファイルを取り下げたい時などに使える)

ファイル名の変更を記録

$ git mv <旧ファイル> <新ファイル>

ファイル名の変更を、作業ディレクトリとステージの両方に記録できるコマンド。

git add前の変更を取り消す

$ git checkout  -- <ファイル名orディレクトリ名>

ワークツリーのファイルの状態をステージと同じ状態(直前のコミット)にすることで、前回のコミットの状態に戻すことができる

$ git checkout .

で、全てのファイルの変更を取り消せる。が、新規追加したファイルは削除されないので、別途削除するひつようがある。

$ git clean -df .

ステージした変更を取り消す

$ git reset HEAD <ファイル名orディレクトリ名>

ステージした内容を取り消すだけ(直前のコミット情報をステージに上書きしてるだけ)なので、ワークツリーの内容には影響しない。 ステージとワークツリーの両方取り消したい時は、git reset HEADしてからgit checkout --をする必要がある。

$ git reset HEAD .

で、全てのファイルのステージした変更を取り消せる。

直前のコミットをやり直す

$ git commit --amend
  1. 間違えてコミットしてしまった部分をワークツリーで修正する 2.git addする 3.git commit --amendをすることで、直前のコミット(消したいコミット)に、1.の内容でコミットして上書きする。

コミットメッセージの変更

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

で、コミットしたけどコミットメッセージだけを変更したい!

$ git commit --amend -m '変更したいコミットメッセージ'