Ok, so I have some suggestions for you.
First off, I added some comments inline to one of your commits.
Clearly, given what you’ve done to make it compile, you are not an amateur. An amateur would not have been able to make it compile. But there are two predominant places where you need to focus;
First, you don’t make changes just to trick it into compiling. When you need to make a change to make it compile, you need to understand the reason why it isn’t compiling, and understand the code you are working with so that what you do doesn’t actually break it worse (which most of your changes actually do). One of the great thing about compiler errors, is that they actually tell you what is wrong. If you cover that up with something that you only put there to trick it into compiling, then it becomes a hundred times harder to find that problem rather than just fixing it correctly the first time.
Second, you need to get good at using git. It is one of the most important and most powerful tools you will ever know for managing source code.