This chapter will show you how to get a
git code repository up and running. At most news organizations where you’d be collaborating on code with other developers, you’ll rely heavily on the GitHub web app.
You might consider
git, which you installed in the last chapter, as an air traffic controller. It makes sure the code you’re writing at your desk and the code your colleague is writing in her home office don’t clobber each other like two wayward Boeings when you both “commit” them: push them to the same repository. If both your commits make changes to the same part of the code, ‘git’ alerts you and forces you to reconcile the work before it can be merged into the whole.
If you’re working on a part of the code that has been changed by someone else since you last saw it,
git won’t let you continue until you “pull” the latest version. It keeps a flight log: If you need to get to the root of a bug, you can see every change to the code, when it was introduced, and by whom.
You can then think of GitHub as an airport. It’s a secure, systemized way to launch and land the planes.
GitHub has become an integral part of the newsroom workflow as developers need to make updates swiftly and with confidence that all contributors’ individual changes will work on the published site. Its dashboards give visibility into what work is in progress and which is final. This visibility can be tuned to let the whole world view your code or limit it to a small, trusted group.
One of the most important things GitHub can be configured to do is run safety tests on every line of code before it can publish. We won’t get into testing in this tutorial, but just know that Github is intrinsic to the work as a stable marketplace for your code.
But before we approach the runway, let’s make sure your local hangar is set up properly. It always helps to store all your code in the same place, rather than scattering your work in haphazard folders around your computer.
Let’s settle the issue on the command-line. Open the terminal of your choice. It will start you off in your computer’s home directory, much like your file explorer.
Verify that by using a command called
pwd, which stands for present working directory. The output is the full path of your terminal’s current location in the file system. You should get back something like
ls command to see all of the home folder’s subdirectories. The terminal should print out the same list of folders you can see via the file explorer.
mkdir command to create a new directory in the same style as the Desktop, Documents and Downloads folders included by most operating systems.
Since we want it to store our code, we will name this folder
To verify the command works, open the file explorer and navigate to your home folder. After it’s run, you should see the new directory alongside the rest.
Now jump into the new directory with the
cd command, which operates the same as double clicking on a folder in your file explorer.
In this simple exercise you’ve learned some of the most important, and most common, terminal commands.
This is a special kind of repository known as a template. It’s designed to serve as a starting point for new projects. Click the green “use this template” button near the middle of the page to get started.
On the next page, fill in a name for your copy of the repository. You can pick anything. Our example will use
Return to your terminal. Use
gh to login to GitHub, which will verify that your computer has permission to access and edit the repositories owned by your account.
gh auth login
After you authenticate, clone the new repository we created. Edit the code below by inserting your user name and repository. Then run it.
gh repo clone <your-username>/<your-repo>
In my case, the command looks like this:
gh repo clone palewire/my-first-visual-story
After clone completes, run the
ls command again. You should see a new folder created by
cd to move into the directory, where we can begin work.
We’ve got our starter kit installed. Let’s get it going.