↻ Start | What You Can Do with Git and GitHub →
Git is software used for version control—that is, tracking the state of files and changes you make to them over time. Git can be enabled in a folder, and then used to save the state of the contents in that folder at different points in the future, as designated by you. In the language of Git, a folder is called a repository. In the context of this workshop, it refers to a folder that is being tracked by Git. Using Git, you can view a log of the changes you've made to the files in a repository and compare changes over time. We will explore these features in the current workshop. You can also revert back to previous versions, and create "branches" of a project to explore different futures. These are advanced features, which we will provide resources for you to explore later. Git is also useful for collaboration, as a repository can be shared across computers, and its contents can be asynchonously developed and eventually merged with the main project.
GitHub is an online platform for hosting Git repositories. It functions for some, predominantly programmers, as a social network for sharing and collaborating on code-based projects. Users can share their own projects, as well as search for others, which they can then often work on and contribute to. Digital Humanists, librarians, and other academics are also finding ways Git and GitHub are useful in writing projects and teaching. GitHub also serves as a web-hosting platform, allowing users to create websites from their repositories.
As we move forward it's important to make sure we're firm on the distinctions between the three different tools outlined above.
Git is a software that you use on your laptop, or your local computer/machine. The repository with your project's files is stored on your hard drive. You also edit the text files on your local machine using a plain text editor, which is another software on your local computer like Visual Studio Code.
GitHub is a cloud-based platform that you access through your internet browser. Even though you physically are still in the same place, working on your laptop, you are no longer working on your local machine, you are on the Internet. This is a fundamentally different location than when you're working with your Git repository and editing and creating files in your plain text editor. With GitHub, you are uploading your repository—as described above—from your local machine to this platform on the Internet to be shared more broadly. You can also create private repositories if you want to use GitHub to backup a project.
Which of the following best describes version control:
- a software installed on my local machine
- the practice of tracking and organizing the state of a file over time, as it changes*
- a language that can be read and rendered by some web-based platforms
- a cloud-based software
Which of the following best describe Git:
- a software installed on my local machine*
- the practice of tracking and organizing the state of a file over time, as it changes
- a web-based plaform for storing and sharing files
- a version control software*
- a cloud-based software
- refers to project folders as "repositories"*
Which best describes GitHub:
- a cloud-based software*
- a software installed on my local machine
- a web-based plaform for storing and sharing files*
- a version control software
- refers to project folders as "repositories"*
- the practice of tracking and organizing the state of a file over time, as it changes
Do you remember the glossary terms from this section?