Yes, you can change the directory structure of your existing Git project without losing commit history.
- Create the subfolder:
First, create the new subfolder in your project directory.
sh
mkdir new_subfolder
2. **Move the project files into the subfolder**:
Move all the files and directories (except the `.git` directory) into the new subfolder.
```sh
git mv * new_subfolder/
git mv .* new_subfolder/
Note: The git mv .* new_subfolder/
command might throw warnings for .
and ..
entries. You can ignore these warnings.
-
Commit the changes:
After moving the files, commit the changes to your Git repository.git add . git commit -m "Moved project files into new_subfolder"
-
Update your GitHub repository:
Push the changes to your GitHub repository.git push origin main
Replace
main
with the name of your branch if you’re using a different branch.
Here’s a summary of the commands:
mkdir new_subfolder
git mv * new_subfolder/
git mv .* new_subfolder/
git add .
git commit -m "Moved project files into new_subfolder"
git push origin main
Important considerations:
- Ensure that you do not move the
.git
directory itself, as it contains your repository’s version history. - If you have files or directories starting with a dot (e.g.,
.env
), make sure to move them as well.
After these steps, your project files will be inside the new subfolder, and the commit history will be preserved.