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
-
Be sure you don't have files uncommitted, if not commit them before next step.
git status
-
In project-directory create
public
subfoldermkdir public
-
Move files with
git mv
exceptpublic
subfolder to avoid errorsfor file in $(ls | grep -v 'public'); do git mv $file public; done;
-
Move specific files like .htaccess etc...
git mv .htaccess public/
-
Commit changes
git commit -m 'Moved files to public/'
-
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
In SourceTree:
On logging file(s) you have to check [x] Follow renamed files
Try GitBash. Not CMD.