I have a repository like
/file1
/file2
/dir_a/file3
/dir_a/file4
...
how can I remove dir_a and move all its content one directory up (in this case to /) while keeping the status of all files (untracked, changed but not staged), which may be contained in / but also in dir_a?
git-mvshould be able to handle this. Usegit mv -k dir_a/* ., and the staged/unstaged status will be preserved. This will not move untracked files, so usemv dir_a/* .afterwards.