7
7

More than 5 years have passed since last update.

RubyMineでのGit操作「作業を取り消したい」

Last updated at Posted at 2016-01-23

想定環境

  • Mac OS X 10.11
  • RubyMine 8.0.3

プロジェクトディレクトリは次のパス。

/Users/kyoshida/RubymineProjects/eslplayer

課題

使用頻度の高いと思われる Git 操作について、次の内容を簡単に解説している。

  • RubyMine での作業方法
  • Version Controll ウインドウの Console タブの出力内容から実際に実行されている git コマンド

未コミットの変更を取り消し

コミットしていないファイルを編集したあとで、その変更を取り消したい。

方法

Version Controll ウインドウで対象のファイルを右クリックして、Revert... を選択する。
revert1.png

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

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
  1. プロジェクトディレクトリに移動
  2. ファイルを管理対象から削除
  3. プロジェクトディレクトリに移動
  4. ファイルをHEADに戻す

-c core.quotepath はパスを表示する際の表示オプション。UTF-8環境でパスやファイル名に日本語などの文字がある場合にエスケープされて表示が意図しないものになるため、false にて回避している。

コミット済みの変更を取り消し

コミットしたあとで、そのコミットを取り消したい。

方法

Log タブからひとつ前のコミットハッシュを取得する。戻りたいコミットを右クリックして、Copy Revision Number を選択する。これでコミットハッシュがクリップボードにコピーされる。
reset1.png

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

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

Reset Type については次のページが参考になる。

Console

cd /Users/kyoshida/RubymineProjects/eslplayer
git -c core.quotepath=false reset --mixed HEAD --

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

コミットした内容は良いが、そのメッセージのみを変更したい。

方法

不明。

によると Commit Changes ダイアログに表示されそうだが、表示されない。

コマンドラインで代用する。

git commit --amend

インデックスにファイルを登録していない状態で --amend オプションを指定して再コミットを行います。コメントの入力画面が表示されるので、コメントを修正します。

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7