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
終わりに
何か新しい使い方を見つけ次第、不定期でこの記事は更新していきます。