Everything on your computer boils down to files. Your computer houses lots and lots of files. In web development terms, all the files on your computer are considered local. When we are looking at websites on the WWW, again, we are looking at files. Except these files are on someone else's computer. Usually that someone else is a hosting provider. Some company that has bought many computers and put them in a warehouse and connected them to the backbone of the Internet. These computers are also called servers. All servers are really just computers. To be a server is to serve files to another computer. So when we go to a website, there is a computer, serving their files to to us through the browser. We will do the same thing in this class and use GitHub as our host. When we put our local files onto our GitHub servers, we are making them remote.
So there will always be two versions of your work. Your local work. The files in your folder on your computer. And your remote work. A copy of your local files on your GitHub server.
if you haven't already done so, sign up for a free GitHub account.
GitHub is an extension of git (explained below). GitHub is something you can have a profile on. GitHub is something you can follow other github users on. GitHub is accessed through your browser at github.com. GitHub is a host. GitHub is where we will host all of our files so that other people can see them on the world wide web.
everything you write should belong in one folder this semester. we called this folder memory. you can have as many files and folders inside that one folder as you like. we will upload this whole folder to GitHub using git. each week you will push up all your new files and changes to your github. your memory folder on your computer will be referred to as your local folder. your memory folder, on your github, will be referred to as your remote repository. your remote repository name (on github) and your local folder name (on your local computer) should be the same.
at this point you should have the following tools ready to hand:
we will use these three tools: terminal, a code editor and chrome. we will make, move, and open folders and files with terminal. we will edit, save and re-save files with the code editor. you can view the local version of your files (web pages) in chrome as you go. when you are ready to publish them to the www, you will use git and github. the biggest part of workflow is knowing the difference between your local work, the files that only exist on your computer, and remote work, the files that are copied over to your GitHub server (not your computer, likely a computer that GitHub owns in some server warehouse in Oregon). The purpose of a remote version of your work is so that other people, besides the people who have access to your computer (you, your friends? your colleagues? me?) can see it at some url, like, yourusername.github.io or tautological.pizza
Git is a system for managing files. You know when you're writing something in a word doc and you save multiple versions: Final_Essay.docx, Final_Final_Essay.docx, Final_Final_Use_This_One.docx. Git allows you to for example only ever save one file because it tracks every single change you make so that if ever you wanted you could revert all of your changes back to a previous version. Its like a very powerful COMMAND-Z. Not only does it give you the possibility to revert, it also shows you exactly when and where things changed. This can be a nice thing to look at if working on a piece of writing for a long time. Git, although commonly known to coders, is for files, any kind of files, and as long as you know a thing or two about files, you might as well know a thing or two about Git.
the difference between Git and GitHub can be thought of like this: Git is a technology for tracking files on your local computer. GitHub is an application for tracking those files on a GitHub server mostly so that other people (for example, Ariel and I) can see your files or collaborate with you on your files and so that you can publish them to the WWW.
we will use the technology of Git to keep track of and push our files up to GitHub
it's possible that you already have git installed on your computer. you can check by opening terminal and writing
and then pressing enter.
if you do have it the terminal will return something like this
git version 2.30.1 (Apple Git-130)
if you don't, the terminal will prompt you to install an application called Command Line Tools, sometimes this takes a little while. Once the installation process is complete you can run the git --version command again to check that it was properly installed.
$ git config --global user.name "your user name" $ git config --global user.email "email@example.com"