In terms of Git, these will be simple file renames. To keep things simple, restructure with git commands:
git mv foo.c bar.c git mv old_dirname new_dirname git commit
As you can see, you can also rename individual files or entire directories.
Git is able to keep track of individual file histories when renaming:
git log --follow bar.c
To make life easier for Git, if you rename or move the file, do not modify its contents in the same commit.
source share