GitHub - Q: projects or repo?

This repo provides resources to be used before and after the 2024-APR-05 workshop. During the workshop, participants will also practice Git commands by cloning and making pull requests to this repo.

GitHub - Q: projects or repo?

Extracted from a LinkedIn post published on Nov 19, 2021

Author: Mahmoud AlSayed

There are two types of repositories – bare repository and non-bare repository.

The former is intended for collaboration, allowing you to synchronize with the changes made by other developers.

The latter is meant for private solo development, allowing you to create a new version of the repository.

What is GitHub Projects?

Projects are a great issue management feature in GitHub which helps you organize issues and pull requests into a Kanban-style board for better visualization and prioritization of work. You can create as many projects as you need in a repository.

Project boards

They allow you to:

End result: use them to streamline and automate your workflow, get user feedback, release tracking, developer idea notes, meeting notes, etc.

GitHub Repository and Project differ on two levels: Tools/ Role

  1. Tools

A repository is a tool built on top of Git.

It is like a folder that contains all the files needed for your project, including the files that keep track of all the versions of your projects so that you can always go back to the previous state if you screw something up on the way.

It keeps track of your project history and who has made what changes, when and why. Projects are a great issue management feature in GitHub which helps you organize issues and pull requests into a Kanban-style board for better visualization and prioritization of work.

  1. Role

A Git repository is a .git/folder inside a project which creates an entire history of your project including all the changes made to the project since the beginning.

It is the main staging area where your projects live or the versions of the project. So, if you delete the .git folder then you delete your entire work history.

Git has a local repository that stores all the changes locally on your personal computer or laptop, whereas a remote repository stores all the files in a remote location in one of the servers located miles away.

Projects board, on the other hand, allows you to manage your workflow across a repository, visualizing the progress and tasks for a project.