Nothing better than the GIT documentation to learn GIT, and also EXPERIMENT it ! nothing better than actually trying what you want to learn. Push commits, revert, create multiple branches, merge, rebase, whatever.
As for C++ projects, none, you won't learn C++ by reading an existing project, you will learn C++ by reading books, and again, EXPERIMENTING with it create simple code, make it work, once it works, take a break and ask yourself, why does it work ? how does it run ? what's an operating system, what's memory, what's a CPU, how my " if(a==12)" is interpreted by my CPU, basically just be curious, mess with it, and you will learn FAST !