Theoretically, if your project is strictly private, then it is your own business what you do inside it.
This does not apply if you are asking others for assistance.
As soon as you ask others for help or turn in an assignment, your sloppy project structure is other people’s problem. This creates a professional liability for you, because in addition to wasting other people’s time, it makes you appear non-professional.
This is unnecessary and easy enough to fix before it happens.
There is a very common situation that happens to new git users. The cause of this will not be discussed here, just the result.
Here is what the directory tree looks like when this typically happens
└── Assignment1
└── Assignment1
├── css
│ └── style.css
├── images
│ └── screenshot.png
└── my.html
Please notice there are two Assignment1 folders. The inner folder is where the work is, the outer folder is the code repository.
This feels like it works fine for the not-yet-professional student because he/she has VSCode and or Eclipse or … opened to the inner folder. But then he/she pushes it up, shares the repository, and asks for assistance. This is where the problems start.
The professional who has been asked to assist the student attempts to open the project up and is confused and slowed down.
If it’s a java project being imported into Eclipse, it is quadruply confusing because Eclipse doesn’t even know how to import a folder within a folder where the inner folder has the Eclipse metadata files.
The assisting professional has to do a lot of extra work just to figure out what the problem is. By this time the not-yet-professional student has all but destroyed his/her professinal reputation, at least for the moment. And all because he/she did not have his/her project/repository set up properly.
First, here is what the directory tree might looks like when this typically happens (copied from above)
└── Assignment1 (this is your repository folder)
└── Assignment1 (this is your project folder)
├── css
│ └── style.css
├── images
│ └── screenshot.png
└── my.html
Now, here is what it might look like after you fix it
└── Assignment1 (your repository folder and project folder are one and the same)
├── css
│ └── style.css
├── images
│ └── screenshot.png
└── my.html
Please note that
If this is confusing to you, get unconfused first!
Don’t go and “fix it” thinking that you understand, then cry to someone for help because you acted before you thought things through, made a mess, and can’t fix it any more.
You are a professional. These are the types of problems that professionals are expected to solve completely on their own. Think of this as a self-test, and don’t accept a failure.
To help fix the nested folder issue, here are step-by-step instructions you can follow to restructure your project repository and eliminate the unnecessary folder within a folder setup:
└── Assignment1 (outer folder - repository)
└── Assignment1 (inner folder - project)
├── css
│ └── style.css
├── images
│ └── screenshot.png
└── my.html
Assignment1 inside the outer Assignment1).css, images, my.html), and move them up one level to the outer folder.Assignment1 within Assignment1) will be empty.└── Assignment1 (repository folder)
├── css
│ └── style.css
├── images
│ └── screenshot.png
└── my.html