I would learn it as soon as possible. I truly have no idea what I was even doing with my files before I learned git. I’m assuming randomly copy/pasting folders with different version numbers like an unwashed barbarian.
Learning git on the terminal is best imo, but if it helps to use a visualization tool like gitkraken, do it! ANYTHING that helps you get started using version control.
I’ve started using it myself even outside of software development. You can use it to track changes, ANY changes, to ANY sort of file on your computer. (Although I’m probably kind of an overzealous version control maniac for doing this).
What you have to answer for yourself is this:
Am I ready to love myself?
If the asnwer to that is, “YES”, then you should start at least with basic version control.
I’ll give you a primer on a simple git workflow:
Situation: You are in a folder in your terminal and you want to start making changes, but you want to track those changes.
$ git init // This initializes a new git repository
$ git add [file1] // This adds a file you want to track [file1] in this case.
$ git commit -m "Made changes!" // Makes a commit. is effectively a "save as", the -m is short for "message"
$ git log // This gives you a list of all your commits.
You can sort of think of a “commit” as a snapshot in time, or using another analogy, you can think of it as doing a “save as” with the commit message being the new name of a folder.
Git only tracks the changes made.
This is really all you need to get started. It gets a lot more fun from there. You can roll back your changes, you can go back in time to a prior commit (“snapshot”) if you screwed the pooch and now your code doesn’t work for some reason, you can branch changes and merge them later, the benefits go on and on.
Also another thing, and I can’t stress this one enough.
Git ≠Github !!!
Git is a technology used for keep track of code changes in a repository.
Github is a website that you can upload to that hosts code.
It is possible to use Git without using Github, or to use another site like Gitlab or Bitbucket to host your code.