Creating A New GitHub Repository
Tags: tutorial, github, opensource, beginners
Published: 2023-09-18 06:00:00

## Contents
- [Introduction](#introduction)
- [Requirements](#requirements)
- [Creating A Repository](#creating-a-repository)
- [Repository Tabs](#repository-tabs)
- [Conclusion](#conclusion)
- [Share Support](#share-support)

## Introduction
Hey there! I'm Francesco known as Airscript on the web.
Today I want to share with you how you can create a new GitHub Repository and navigate into it.
This post will serve us well for the next weeks while we'll be going deeper into the concepts behind repositories. 

## Requirements
In order to create a GitHub Repository you'll need a [GitHub Account][github].

## Creating A Repository
Now that you've checked all the requirements, just head to [github.com][github] and look at the top right portion of the screen.
There you'll see a button with a plus sign that makes wonders:
![New Repository](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pjpn20jqhxebl5u5glog.png)

After clicking on `New Repository`, something like this one will appear in front of you:
![Create New Repository](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/rp4lph3bu63ycfaftc55.png)

First of all you'll be asked for a template repository.
A template repository is an already setup repository that will just work as a blueprint.
After that you'll have to choose the owner, a repository name and description.
Fill it out with whatever you want or use the funny suggestions that GitHub does for you!

Now let's go deeper onto the next steps and see what they mean:
![Create New Repository 2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fcpgb5cjr8397h7vw4kz.png)

You'll be asking yourself: "What is a `README` or even a `license`?"
Good question! A README is a simple text file where you can describe your repository starting from what does it address, to how you can use it and also how to contribute to it.

The license, on the other side, is also a file that contains a contract for protecting your rights regarding the software you're creating.
If you choose to not have one, the software you're making will not be freely usable like usually an open source software can.
If you want to make your own ideas on this matter, jump by [choosealicense.com][choosealicense-com] or wait for my series on the matter.

Of course I'm not forgetting about `.gitignore`.
This is a simple file that takes track of which files are not welcomed inside your repository.
If you have a personal file that you don't want to commit publicly then you just add its name inside of it and the magic is done.

After you've setup everything just click onto `Create repository` and the mission will be completed!

## Repository Tabs
Now that you have created your repository, you'll see something like this:
![Repository Overview](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5844rdlq4exlzq64vev9.png)

Yes, I know. There's a lot of stuff right in front of us but fear not! I'm here.
As a first stepping stone let's see the various tabs inside of it and what they mean:
![Repository Tabs](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/283j7418ug0bsaap4vya.png)

Right know we are into the `Code` section.
In this section you can actually see the code of your software and other useful information such as topics, websites and more.

Right after that, there's `Issues` tab where all issues are stored.
An issue can be a lot of things but explained simply, it's a tool to track down things about your repository.
e.g. Your software has an error while doing something? Fine, that's an issue to be opened.

Next to the issues tab there is a `Pull Requests` tab that also stores them.
This one is practically the heart of open source if you ask me.
Basically, if I want to contribute to a software, I make my own magic with code and then send it back to the original repository as a pull request.

`Actions` tab is a cool one. A little bit more advanced but nothing impossible to understand.
Let's think about something you do everyday, like brushing your teeths.
The key question here is: "Can you automate it?" and if the answer is yes, then you can represent it with the use of a reusable action!
Inside this tab you'll find all the actions and all the reports for every action that has been runned in the past.

Following this, there's `Projects` tab.
It speaks by itself but, you can see projects like big boards where you can track down things to do over your software.
This is a cool collaboration and management tool that GitHub gives for managing issues as well!

The `Wiki` tab is a good stop point for learning about the software itself.
Just imagine: you're a newcomer and don't know how things work. Where should you go to read about it? That's that place.

Now things start getting intresting with the `Security` tab.
This tab is essential if you want to keep track of vulnerabilities, updates, code improvements and so on. All automated for you with the ease of a simple click.

If you're a social person, we have also a tab for that side of you: `Insights`.
Here you have a lot of interesting information spacing between how many changes you did to the project to from where that contributor came inside your repository in the first place.

As last but not as least important we have the `Settings` tab.
This tab is the control panel for everything that just rotates around your repository.
e.g. Repository name, who can access it and more.

## Conclusion
And I think we're good to go for now!
In the next posts we'll be seeing every tab in detail and also add some tabs that are hidden right after you create a project.
So, basically we have seen how to create a new repository and learned more about code licenses, README files and repository tabs.
As you can see behind a simple action, there is a lot more. But this is a good thing: means that you have a lot of space for self improvement!

## Share Support
If you have liked this post, just leave a reaction and a comment in the section below.
To not lose any new post, just remember that you can follow me here on [dev.to][dev-to] and also other platforms that you can find on [airscript.it][airscript-it].
Thank you kindly!

[airscript-it]: https://airscript.it
[github]: https://github.com
[dev-to]: https://dev.to/airscript/
[choosealicense-com]: https://choosealicense.com/