git is a distributed version control system that keeps track of the changes between plaintext source files. It can be used for collaboration or for managing and keeping track of workflows for individuals. While primarily intended for software source code, git works with any plaintext files, and so can also be used for authoring of other kinds.
You should become conversant with the official documentation for git. It has everything you need to know, all in one place.
The guide above is, hands down, the best, most straightfoward guide to get you going or refresh your memory for git commands.
[An Ultimate Guide to git and GitHub - Suhail Kakar](https://dev.to/suhailkakar/an-ultimate-guide-to- git-and-github-20j)
You can place a file in the root of your repository directory named
.gitignore and add paths which will be specifically excluded by git when you add files and commit changes. This is a good idea to do with Node.js packages in particular, since otherwise you are just moving around a bunch of dependencices that can be automatically downloaded by npm instead.
This is a good resource.
You will likely want to add the text from Node.gitignore to your
.gitignore file for most assignments.