I know that there is no "move" or "rename" in git. However, about a year ago I moved files to another folder (on a branch B from master M), committed that, then renamed the classes in those files, committed. All looked fine. While continuing work on B, when merging updates from M to B, the "old" files were compared to their new versions on B. Now, all of a sudden, for some files this doesn't work anymore: the "old" files from M are detected as additions to B. The new versions of those files on B still have the entire history on them. 1st question: why is that (I read about the "snap-shot" thingy: is that compared from the split point of B from M, considering all snap-shot from there onward)? 2nd question: is there a way to have the "track" of the two versions of files back/restored?
M --x--x--x-----------------------x
\ \ \ (so far all good) \ -> ! files "lost" track
B x--x--x-----------------------x