Git is a version control system designed by Linus "the guy that made Linux" Torvalds. (Tsuka just gave you the link to its official site).
My personal recommendation would be to get the windows installer, and
only install the command-line version. (The GUI version has so many options it's just overwhelming to use, and you'll mostly use the same handful of commands 99% of the time anyway). When it asks what command line interface you want to use, stick with the default "Bash" (this installs the Cygwin environment and a lot of the UNIX core utilities that Bash needs to run) and make sure to tick the box to add "Git bash here" to the Windows right-click context menu. Now you not only have installed Git in the easiest-to-use(-after-you-learn-the-basics) form, you also have a much better command-line interpreter than Windows' default version. Bash's main killer feature is that if you press Tab after typing the beginning of a word, it will fill in the rest of the word for you (if there's more than one possible word, it ends where they diverge). Once you get a hang of it, you really feel like the computer is reading your mind and does everything for you.
The basic Git workflow is:
Code:
git add -A
git commit -m "Add that new feature I talked about"
git push origin master
(Adding basically caches files for a commit; the -A flag means "all changed files in the repository". Committing makes this an official point on the timeline tree which you can later revert to if needed, and pushing shoves all your changes to a remote repo, typically an online mirror, so it can be shared with other project members, or used to restore your files if your computer suffers a terrible fate)
Before you can actually add/commit/push you need to set up a repo and link it to a cloud repo; both Bitbucket and Github (the two biggest cloud repo providers) just gives you a command you can copypaste with all the URLs and stuff in place after you create a new empty repo.
The Git timeline tree can be viewed with the command
gitk, which displays the following thing. I use it all the time; once you understand what all this information means it's really good at letting you visualize what the differences between different versions are (and since you can see the diff in each commit, you can easily find specific versions to copypaste added/removed code, etc)
View attachment 33534