When I refactor the class in IntelliJ the git looses the track of old log of the file? Is there a way to refactor the file so that it keeps the log, or am I missing something?
I am checking the log of the file in the SourceTree, but I imagine it is the same for everything.
IntelliJ IDEA allows you to review all changes made to the project sources that match the specified filters. For distributed version control systems, such as Git and Mercurial, you can view project history in the Log tab of the Version Control tool window Alt+9 (see Investigate changes in Git repository).
IntelliJ IDEA lets you review the state of your project at a selected revision. Open the Git tool window Alt+9 and switch to the Log tab. Select a commit and choose Show Repository at Revision from the context menu.
Move/Rename is handled automatically by Git and log should be kept if git detected that it was actually a move. It doesn't matter whether you rename from IDEA, terminal or file manager.
See also Why does git not "track" renames? and comments in the related bug report.
This approach, although probably not what you would like to hear, helped git detect renames (and ultimately understand the real file history) during a pretty big repackaging that I was doing (renaming package com.something
to com.somethingelse
with ~300 files inside it):
git mv MyProject\src\main\java\com\something MyProject\src\main\java\com\somethingelse
"Edit > Find > Replace in path
and replace all occurrences of com.something
with com.somethingelse
.If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With