想定環境
- Mac OS X 10.11
- RubyMine 8.0.3
プロジェクトディレクトリは次のパス。
/Users/kyoshida/RubymineProjects/eslplayer
課題
使用頻度の高いと思われる Git 操作について、次の内容を簡単に解説している。
- RubyMine での作業方法
- Version Controll ウインドウの Console タブの出力内容から実際に実行されている git コマンド
未コミットの変更を取り消し
コミットしていないファイルを編集したあとで、その変更を取り消したい。
方法
Version Controll ウインドウで対象のファイルを右クリックして、Revert... を選択する。

ダイアログが表示されるので、取り消したいファイルにチェックされている事を確認して Revert ボタンをクリックするとそのファイルの取り消しが行われる。

Console
cd /Users/kyoshida/RubymineProjects/eslplayer
git -c core.quotepath=false rm --cached -f -- eslplayer.rb
cd /Users/kyoshida/RubymineProjects/eslplayer
git -c core.quotepath=false checkout HEAD -- eslplayer.rb
- プロジェクトディレクトリに移動
- ファイルを管理対象から削除
- プロジェクトディレクトリに移動
- ファイルをHEADに戻す
-c core.quotepath はパスを表示する際の表示オプション。UTF-8環境でパスやファイル名に日本語などの文字がある場合にエスケープされて表示が意図しないものになるため、false にて回避している。
コミット済みの変更を取り消し
コミットしたあとで、そのコミットを取り消したい。
方法
Log タブからひとつ前のコミットハッシュを取得する。戻りたいコミットを右クリックして、Copy Revision Number を選択する。これでコミットハッシュがクリップボードにコピーされる。

VCS -> Git -> Reset HEAD.. メニューを選択する。

To Commit 欄に先ほど取得したコミットハッシュを入力して、Reset ボタンをクリックすると、入力したコミットに戻る。

Reset Type については次のページが参考になる。
Console
cd /Users/kyoshida/RubymineProjects/eslplayer
git -c core.quotepath=false reset --mixed HEAD --
コミットメッセージのみ変更
コミットした内容は良いが、そのメッセージのみを変更したい。
方法
不明。
によると Commit Changes ダイアログに表示されそうだが、表示されない。
コマンドラインで代用する。
git commit --amend
インデックスにファイルを登録していない状態で --amend オプションを指定して再コミットを行います。コメントの入力画面が表示されるので、コメントを修正します。