Tips Of Git
知らなくても困らないけれど知っていると楽かもしれない、そんなGitコマンドを備忘録としてまとめてみした。
過去のコミットに入り、また戻る
checkoutコマンドは色々なことが可能です。少し前のバージョンのアプリ状態を確認したいシーンなどがあるかと思います。
まずログから戻りたいコミットIDを確認します。
$ git log --oneline戻りたいコミットIDを引数にチェックアウトを実行してみます。するとそのコミットを行った時の状態に戻っているかと思います。
$ git checkout [コミットID]最新の状態に戻りたい場合は、作業していたブランチ名を引数にチェックアウトを実行します。
$ git checkout [ブランチ名]ちなみに現在のコミットを含んでいるブランチを確認するには下記のコマンドを実行すると分かります。
$ git branch --containsコミットを別のブランチに移動する
cherry-pickもよく使います。ブランチを間違えてコミットしてしまった時などに、コミットを移動することが出来ます。
まずは移動したいコミットIDをログから取得します。
そしたら移動したいブランチに移動します。
その状態で次のコマンドを実行します。
$ git cherry-pick [コミットID]ステージングから戻す
git addをするとステージングエリアに変更が移動します。それを戻したい時に下記のコマンドを実行します。
$ git reset [ファイル名]
※一括で戻す
$ git reset .ファイルの状態を戻す
git addする前のファイルの状態を変更するには、checkoutを実行します。
$ git checkout [ファイル名]
※一括でファイルの変更状態を戻す
$ git checkout .Untracked filesを一括で削除する
ファイルを追加したときはUntracked filesとして管理されます。これを消すにはrmコマンドで削除すれば良いのですが、git cleanでも一括で削除が可能です。
$ git clean -dfコミットは作りたくないけど進捗を保存したい
一時的にファイルを編集しただけで、コミットを作成したくないけど別のブランチで作業がしたいみたいなシーンが稀にあるかと思います。
コミットしてしまい、rebaseするのも良いのですが、よりスマートな方法はstashです。ファイル変更が存在するコミット前の状態で、下記コマンドを実行してみて下さい。
※stashを保存する
$ git stash save -m "コメント"
※stashの一覧を見る
$ git stash list
※stashをロードする
$ git stash pop [0-9]コミット作成者を確認する
blameを使うとコミットの詳細情報を確認出来ます。コミットID・作成者・コミット日時などを見ることが可能です。
$ git blame [ファイル名]fugitive.vimというVimプラグインを使うとVimでファイルを開きながら調べることも出来ます。
:Git blame終わりに
何か新しい使い方を見つけ次第、不定期でこの記事は更新していきます。