I use Git a lot in work and all of my projects, but I find it hard to use Git for Arduino, if I have all of my projects on Github, then ehen I clone it I always havr to make sure that the source files get into the right place and navigate around and struggle.
I looked into PlatformIO which looked very very nice, but whn I tried to use it I founs that some libraries didnt exist on platform, for example thr BNO08x library.
So I got a little bit scared to use PlatformIO because I feel that it may occur 'extra' struggle sometimes to find some libraries.
I also tested and is currently using Arduino Cloud, but I feel like it is missing version control and also easy accessibility. I share some of my projects and I feel that sharing is more difficult in Arduino Cloud than Github.
How do you guys handle version control? What would you reccomend?
I don't understand the problem. Simply run the git clone command from the folder under which you want the sketch to be cloned.
Cloning is something that is not typically done very frequently for a given project. Once I have cloned the project, I have it on my computer and so I would only need to do it again if my hard drive crashed.
Unless you like working from the command line, I would recommend finding a nice open source Git client application. You can find a list here:
Although it is otherwise very nice, unfortunately it is only for Windows so it will not be an option for people who use other operating systems.
I used GitHub Desktop years ago when I was getting started using Git. At that time, it was very nice, but that was a decade ago so I can't say whether or not I could recommend the application now. It is worth a look though:
Note that, although it is developed by GitHub and has some integrations with GitHub's services beyond fundamental Git hosting, GitHub Desktop can be used with Git repositories even if you don't host them on GitHub.
I use git gui on my non-Windows machines. It is not as feature rich as some of the other options, but it is pretty good and actually has some features I find essential which I found missing from other popular clients at the time I did a comprehensive survey some years ago. It generally comes as part of the Git installation (unless you have installed the minimal Git package, in which case you can easily install the git gui package separately) so it is easy enough to give it a try.