IRE favicon

GitHub: Make reporting better together

By Tyler Fisher

Many NICAR sessions feature journalists telling other journalists how they can improve their lives and work.

On Thursday, Ben Balter from GitHub made a pitch to journalists from the outside: Become familiar with git and GitHub and you'll be able to make better products on the web.

Balter said his goal was to make the journalists in the room more familiar with GitHub, his product, and git, the underlying distributed version control system behind the product.

The talk had two major sections. The first explained the philosophy and reasoning behind open source.

As Balter explained, open source is all about making collaboration better. Often times, people use email as a means of communicating and collaborating on projects. Someone will work on a document on his or her own until the last possible moment. Only then does the document creator email out the file to other collaborators. At that point, crucial decisions about the basic architecture and purpose of the document have already been made somewhere else.

Open source is about opening up the entire process of collaboration so that better decisions can be made together. A typical workflow through GitHub works like this:

First, an author publishes a document, which now lives on GitHub. Collaborators fork, or create their own personal copy of that document, and make the changes they want. Then the collaborators submit a request to the original author to incorporate the changes they made. The community surrounding the product can discuss and modify the proposed changes. Once the changes are approved, the author can incorporate the changes into the original document.

Having an open process means everyone can be involved in the decision-making process. It creates an egalitarian structure that leads to better products.

The second section of Balter's talk was a basic crash course on git and GitHub, explaining some of the jargon that can confuse and alienate new collaborators.

Here are some of the git-specific terms he explained:

  • Repository: a project folder that contains the files, revision history and documentation of a particular project
  • Pull: a download of files within a repository
  • Clone: an initial pull of an entire repository onto a user's local computer
  • Push: an upload of changes to files within a repostiory
  • Commit: a set of changes that receives a unique ID, timestamp and description of the changes
  • Branch: A parallel version of a repository. This allows for experimental features to be tested without affecting the master, canonical copy of the repository.

GitHub stores repositories on their servers, which allows people to read and access the files within the repository. GitHub users pull files from GitHub's servers, work on them locally, make commits with their changes and push those commits back to GitHub's servers.

GitHub has its own set of terminology:

  • User: Much like a social network, everyone on GitHub has a user account with a profile page and a log of their recent activity.
  • Organization: Users can be gathered together in organizations. For example, the NPR Visuals Team is its own organization on GitHub.
  • Issue: GitHub has its own system of tracking issues or tickets. Issues are used to discuss problems that arise within a project. Anyone can submit an issue to a GitHub project, whether a creator or a user of the project.
  • Fork: A fork is a copy that a GitHub user makes of a repository, which makes a separate copy of the repository within that user's GitHub account. These differ from clones because they also make a new copy of the repository on GitHub's servers, where cloning simply copies the repository to the user's local computer.

Balter will be giving a second talk on Advanced GitHubbing and Git Internals Saturday in Stadium 5 from 2 - 2:50 p.m.

Tyler Fisher is a senior at Northwestern University studying journalism. He is currently interning with the NPR Visuals Team. At Northwestern, he is a Knight Lab undergraduate fellow and the webmaster of North by Northwestern. Tyler is also a 2014 CAR Conference Knight Scholar.

141 Neff Annex   |   Missouri School of Journalism Columbia, MO 65211   |   573-882-2042   |   info@ire.org   |   Privacy Policy
crossmenu linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram