IntelliJでクラスをリファクタリングすると、gitはファイルの古いログのトラックを失いますか?ファイルをリファクタリングしてログを保持する方法はありますか、それとも何か不足していますか?IntelliJでリファクタリングするときにgitファイルに変更ログを保存する方法は?
私はSourceTreeのファイルのログをチェックしていますが、すべてについて同じものだと思います。
IntelliJでクラスをリファクタリングすると、gitはファイルの古いログのトラックを失いますか?ファイルをリファクタリングしてログを保持する方法はありますか、それとも何か不足していますか?IntelliJでリファクタリングするときにgitファイルに変更ログを保存する方法は?
私はSourceTreeのファイルのログをチェックしていますが、すべてについて同じものだと思います。
移動/名前変更is handled automatically by Gitとgitが実際に移動したことを検出した場合はログを保持する必要があります。 IDEA、端末またはファイルマネージャから名前を変更するかどうかは関係ありません。
Why does git not "track" renames?およびcomments in the related bug reportも参照してください。
バグレポートでは、端末でリファクタリングするときに動作し、IntelliJでリファクタリングすると動作しないようです。ありがとう、私はYoutrackで続けます – ThanksBro
このアプローチ、おそらくあなたが聞きたいではないものを、私は内側〜300のファイルでcom.somethingelse
にパッケージcom.something
の名前を変更する(していた非常に大きな再包装時にgitのは、名前の変更を検出し(そして最終的には実際のファイル履歴を理解する)助けたものの、それは):
Edit > Find > Replace in path
とcom.somethingelse
でcom.something
のすべての出現を置き換える - 「git mv MyProject\src\main\java\com\something MyProject\src\main\java\com\somethingelse
」
Gitは単独でバージョン管理システムです。なぜリファクタリングログを保存する必要がありますか? – madhead
ファイルの履歴を確認すると、すべての変更が表示されます。表示されているgit mvを実行しているときにintelliJリファクタリングすると表示されない – ThanksBro