# Change structure of project folder with Git ### I have this structure: project-folder/ .git wp-admin/ wp-content/ wp-includes/ .htaccess ... ### I want this structure: project-folder/ .git public wp-admin/ wp-content/ wp-includes/ .htaccess ... ### The benefits * Keep away from the Internet my `.git` folder * Wordpress files separated in a sub-folder * Keep Git history changes * Hide from the Internet deployment scripts or project sensitive informations ## Move files with git and keep file history 1. Be sure you don't have files uncommitted, if not commit them before next step. `git status` 2. In project-directory create `public` subfolder `mkdir public` 3. Move files with `git mv` except `public` subfolder to avoid errors `for file in $(ls | grep -v 'public'); do git mv $file public; done;` 4. Move specific files like .htaccess etc... `git mv .htaccess public/` 5. Commit changes `git commit -m 'Moved files to public/'` 6. That's all ! `git log -M summary` ## To see file history of moved files ### In Bash: `git log --follow` [http://git-scm.com/docs/git-log](http://git-scm.com/docs/git-log) ### In SourceTree: On logging file(s) you have to check `[x] Follow renamed files`