If we have a file called 'myfile.txt' to restructure/move in the sub directory 'mydir' under git's working directory; rather than cut and paste(manual mv command), we can use 'git mv '
e.g. 'git mv myfile.txt mydir'.
This will move the file to provided directory and marks it to 'staging'.
If we use 'git status' command now, it will display changes available to commit e.g. 'renamed: myfile.txt -> mydir/myfile.txt'.
Now using git commit command create this restructuring permanently within the repository.
If we move file/folder out of the working directory (basically like permanently removing a committed file from the repository) then post movement we have to use 'git add -u' command to mark it staging then commit command to create it permanently.