Git is a distributed version control system (DVCS), designed to allow distributed teams of developers to manage changes to a code base that may include work proceeding in multiple branches in parallel, and then to merge those branches as appropriate for development, test, and release builds.

Markdown is a simple text markup format, which can be used for many document creation/editing tasks. However, it is most commonly used in authoring web pages, with the Markdown content being converted to HTML by an automated step in the web site publication process. One web platform that provides this functionality is Jekyll, which is a core component of GitHub Pages. (This website, the cohort-specific websites, and the project-oriented websites you’ll create in the bootcamp are all created using Jekyll with Markdown, and hosted via GitHub Pages.)

In this tutorial, you’ll explore Git, Markdown, GitHub, and GitHub Pages through a set of tasks resulting in the creation of a simple GitHub Pages-based web site. After this tutorial, you’re encouraged to continue refining this GitHub Pages site, to make it an important element of your online presence as a softwate developer.

Tasks

Read and complete all of the tasks in the Introduction to Git and Markdown tutorial. Note that the tutorial is organized in several pages; at the bottom of each page is a link to the next. Any of the pages can be reached directly from a menu at the top of any of the pages in that tutorial, or from the list below.

  1. Overview

  2. Create & clone

  3. Initial content

  4. Lists & links

  5. Reverting changes

  6. Resources (This page doesn’t include any tasks to perform, but does have a glossary of terms and a collection of useful links.)

After completing the above, go to the comments section below, and post a comment on this pre-work item. Consider the following question in your comment:

  • What is the URL of the GitHub Pages website you created?
  • How do you think using a version control tool like Git would make collaboration with other developers easier?
  • How do you think using a version control tool like Git would make collaboration developers more difficult?
  • Do you have any major unanswered questions about Git? If so, what are some of them?
  • If you have built HTML-based web pages in the past, how would you compare content authoring in Markdown to the same task in HTML?