Git
PhpStorm
IntelliJ

PhpStorm(たぶん IntelliJ 系列) で Partial Commit(ファイルのうち一部だけをコミット) 出来る!


PhpStorm(たぶん IntelliJ 系列) で Partial Commit 出来る!

恥ずかしながら先程まで知りませんでした!

https://blog.jetbrains.com/idea/2018/02/intellij-idea-2018-1-eap-partial-git-commits-and-more/

PhpStorm(たぶん IntelliJ 系列) Partial Commit が可能なんです。

これはズボラな人間としては大いに活用せねば!


どういう時に便利か

ある程度実装してくうちに、特定のファイル(達)に Commit しようとしてる意図とは違う軽微な修正を入れてしまうケースがあります。

例えば、 SomeController.php というファイルに対して作業をしていて、偶然 typo を見つけたとします。

でも、既に SomeController.php は修正が入っていて、発見した typo と一緒にコミットするとコミットログ的に良くないと考える。

そうなると、先に実装箇所を Commit して、その後で typo を修正することになるわけですが、まぁ、忘れたり Commit したけど、本筋の方に戻ったりという状況が発生しがちなわけです。

そこで、コミット時に特定の修正だけコミット出来たらいいのになーと思うわけです。

で、今日はなぜかググって見たわけです。 phpstorm partial commit って。

そしたら、前述の https://blog.jetbrains.com/idea/2018/02/intellij-idea-2018-1-eap-partial-git-commits-and-more/ を発見したわけですよ!すごい!


やり方

例えば、 Project Tree (等: favs からとかでも OK)から、対象のファイル達を選択した状態で cmd + shift + a から何でも検索を呼び出して、 現れる入力欄におもむろに git 入力し、最初に表示されるであろう Commit File... をそのままキーボードのエンターから選択します。

※他にも cmd + k で、影響のあるファイルに対する Commit Window を表示する方法もあります。

で、表示された Window 上部で、まず、 Partial Commit したいファイルにチェックを入れます。

※もし、 Project Tree から選択していた場合既に選択済みのはずです。

で、次。

画面下方の Your version の行番号の箇所にチェックボックスがあるはずです!

スクリーンショット 2018-12-20 5.02.26.png

このチェック、デフォルトで全てにチェックが入っているはずですが、今回のコミット作業で除外したい箇所のチェックを外すと、チェックが入っている場所だけがコミットされます!

便利!

例えば、先の例だと、 fix typo. というコミットに対して、該当箇所だけにチェックを入れて先にコミットしておく、なんて事ができたりします。

もちろん、チェックを入れてない箇所は未コミット状態として残ります。

これは捗る!