Git, GitHub, and GitLab: From Beginner to Expert

Description:
In this course, we first explain the basic working principle of the distributed version control software Git. Then, we explain the star features of Git: branching and merging. We will see how branching allows you to make parallel histories inside one project. This is a key element to easy collaboration, and a good understanding of branching and merging is a prerequisite for effectively using remote services such as Gitlab and GitHub.
=========
After you feel an expert on Git, in the somewhat longer and last video in the series, we finally explain how we can use Gitlab and other remote git services to collaborate on git projects. More specifically, you will get an Introduction to different hosting platforms, then get the following
Basic explanation of how remotes work, then
Demonstration of creating a new remote repository on Gitlab + a short tour of the site
Demonstration of clone, pull, and push with a simulated collaboration
How I propose we work on our GitLab projects
Why do we use the -u modifier with push?
=========
You can get Git for your system from git-scm. The lectures in this course are only meant as an introductory presentation, not as an exhaustive course. You will find all relevant details in the Pro-Git book by Chanon and Straub. For specific questions you will 99% of the time find answers on StackExchange.
=========
By the end of this course, you will be able to answer the following questions:
1. What is git?
2. What is difference between git and GitHub and GitLab (for CI tool also we can use)?
3. Any other version control tools other than git?
4. What is difference between svn and git?
5. What is merge conflicts have you faced ever in you experience? if you face how you resolve?
6. What is git stash?
7. What is git HEAD?
8. What is staging area in git?
9. What is difference between git fetch and pull and clone?
10. What is difference between git merge and rebase?
11. What is .gitignore file? What is the purpose of the file?
12. What is git branch? Have you worked on branches?
13. How to merge branches?
14. What is cherry-pick in git?
15. How to create a git project?
16. How to check difference in between two files?
17. How edit the committed message?
18. How to check the last few commits?
19. How to delete remote branch and local branch?
20. How to create local branch?
21. What is tag? How many types in tag? How we will create tags?
22. How to roll back committed code.
=========
In the bonus section, which is about using the GPU to substantially speed up all kinds of numerical problems. You will Conventional wisdom dictates that for fast numeric you need to be a C/C++ wizz. It turns out that you can get quite far with only python. In this video, I explain how you can use Cupy together with Numba to perform calculations on NVIDIA GPU's. Production quality is not the best, but I hope you may find it useful.
Introduction: GPU programming in python, why?
Cupy intro
Cupy demonstration in Google Colab
Cupy summary
Numba.cuda and kernels intro
Grids, blocks and threads
Matrix multiplication kernel
Tiled matrix multiplication kernel and shared memory
Numba.cuda demonstration in Google colab
Final remarks
========