what’s this?
i'm currently going through the odin project to work on my web dev basics. i made this to share and document my progress.
what i learned
git basics
html foundations (in progress)
sql (in progress)
git
git is a program that tracks changes in files. it's a so-called "version control system".
it's like creating save states in a video game but more convenient. imagine when playing, instead of overwriting your saves, you're able to create complete "timelines". each save then, acts as a checkpoint in your timeline.
git is useful because it enables us to track changes in files. it works best with text-based files like documents and code.
branching
one very powerful feature of git is branching. it enables us to "branch off" from our main save and create different "timelines". this let's us experiment without messing up our files. this makes working with files very flexible.
let's go back to our video game analogy. let's say we're playing an rpg and we're faced with the choice of letting a character join our party. we can select "yes", save the game, and "branch off" our main save. as we continue playing, we're faced with more decisions. if we ever make a choice we want to revert, we can do so at any time.
this branching feature makes git especially useful when collaborating in a team. each team member can work on a feature or fix in a file. once the changes are made, they can be merged back into the "main save"
git is essentially a powerful tool that lets us experiment without fear of breaking stuff. that's one of the reasons it's such an important tool in software development.