If you're more about learning by trying things out, I enjoyed these two:
https://learngitbranching.js.org/ (which presents a visualisation of the commit history)
https://github.com/Gazler/githug (nice for small exercises; although you kinda have to pay attention and not just 'game' your way through it).
You can also try this one, its been around a while - https://github.com/Gazler/githug
I wrote something a few years ago that does a similar thing using a real command line. https://github.com/Gazler/githug
Excuse the self promotion I wrote a tool aimed at teaching git at https://github.com/Gazler/githug
I can't recommend Githug highly enough for learning git: https://github.com/Gazler/githug
Githug is also a really great way to learn Git - https://github.com/Gazler/githug
there are some more advanced stuff here, still not expert though : https://github.com/Gazler/githug
would be cool to actually run githug under that website :)