# GitHub for beginners: from zero to your first project

> GitHub for beginners: the key terms, the Hello World exercise, command line or Desktop, publishing on GitHub Pages and using it for university projects.

![GitHub for beginners: from zero to your first project](https://tiswa.app/assets/blog/github-for-beginners/github-for-beginners-cover-en.webp)

## The words you will hear

| Word | What it means, simply |
|---|---|
| Repository | A folder with all the files of one project, plus their history |
| README | A file that explains your project, written in simple Markdown |
| Branch | A copy of the project where you experiment without touching the main version |
| Commit | A saved change with a message explaining why you made it |
| Pull request | A request to merge your branch into main, showing the differences in colour |
| Merge | Bringing a branch's changes into the main version |

![Comparison card of the guide table](https://tiswa.app/assets/blog/github-for-beginners/github-for-beginners-inline-2-en.webp)


## The Hello World exercise, step by step

GitHub's docs have an official exercise called Hello World that teaches the platform's basics in one sitting, without writing any code. Do it in your browser like this:

1. **Create a repository**: From the menu at the top of the page choose New repository, name it hello-world, add a short description, tick Add a README file, and click Create repository.
2. **Create a branch**: On the Code tab, click the branch menu that says main, type a new branch name such as readme-edits, and choose Create branch.
3. **Edit and commit**: On your new branch, open README.md, click the edit icon and write two lines about yourself. Then click Commit changes and write a message that says what you changed.
4. **Open a pull request**: On the Pull requests tab click New pull request, pick your branch to compare with main, review the differences, then click Create pull request and add a title and description.
5. **Merge**: Click Merge pull request, then Confirm merge. Your changes are now in main, and you can delete the branch.

![5-step flow: Create a repository / Create a branch / Edit and commit / Open a pull request / Merge](https://tiswa.app/assets/blog/github-for-beginners/github-for-beginners-inline-1-en.webp)


> **Tip**: Do this exercise before your first group project at university. Pull requests are the heart of collaboration on GitHub: everyone works on their own branch, the others review before merging, and nobody breaks anyone else's work.

## Command line or GitHub Desktop?

You can use Git from the command line, and over time you will need to. But if you are new, GitHub Desktop is easier: a free, open source app with a graphical interface that simplifies commands and helps you see your changes, available for Windows and macOS. Start there, and move to the command line once the idea clicks.

## Make your profile represent you

GitHub shows a special README on your profile page when four things are true: you created a repository whose name matches your username exactly, the repository is public, it has a file called README.md at its root, and that file has any content. In it, write:

- One line about you: your major, your university and your tech interest.
- The skills you are working on right now.
- Links to your two or three best projects.
- How to reach you, such as your LinkedIn link. See LinkedIn for students.

If you want help writing it, use this template with any AI assistant:

Profile README:

```
Write me a README.md for my GitHub profile. I am a [major] student at [university], interested in [field]. I am currently learning [skills]. My best projects: [project name, link and one-line description]. Keep it short and clear in English and Arabic, with simple Markdown headings, few emoji and no exaggeration about my level.
```

## Publish your site for free with GitHub Pages

GitHub Pages is a static site hosting service: it takes HTML, CSS and JavaScript files from your repository and publishes them as a website at an address like yourname.github.io. It is available for public repositories on the free plan. It is the easiest way to publish your portfolio, see how to build a portfolio and [learn HTML and CSS](https://tiswa.app/en/blog/learn-html-css/).

## GitHub in university projects

As soon as a group project starts, create one repository for the team and add your classmates. Everyone works on their part in a branch named after them or the task, opens a pull request when done, and one teammate reviews before merging. That way nobody's work gets lost, and you can go back to any earlier version if something breaks. Use the README to write how to run the project and who does what. At the end of term, the repository itself becomes proof of your work to put on your CV.

## Habits that matter from your first project

- Small, clear commits beat one big commit with everything. Write the message as if explaining to a classmate.
- Every project gets a README that says what it does and how to run it.
- Never upload passwords or API keys to a repository.
- Upload your solutions from [Satr](https://tiswa.app/en/blog/satr-platform/) or any course, so your progress shows.

## Activate the GitHub Student Developer Pack

With your university email you can apply for the GitHub Student Developer Pack, which unlocks developer tools for free, including JetBrains licences. The steps are in [GitHub Student Developer Pack](https://tiswa.app/en/blog/github-student-developer-pack/). And if you are just starting to code, read [how to learn programming from zero](https://tiswa.app/en/blog/learn-programming-from-zero/).

Tiswa gathers free and discounted student offers in Saudi Arabia in one place: developer tools, student prices on laptops, and food and transport deals. Verify once. [Join Tiswa](https://tiswa.app/en/join/)

## Questions

### What is the difference between Git and GitHub?

Git is a system that tracks changes to files and lets you merge your work with others. GitHub is a platform built on Git that brings together tools for building software and collaborating.

### Is GitHub free?

There is a free plan that covers what a student needs for repositories and projects, and GitHub Pages works on public repositories with the free plan.

### Do I need to know the command line?

Not at first. GitHub Desktop is a free app with a graphical interface for Windows and macOS, and you can do the whole Hello World exercise in your browser.

### What is a pull request?

A request to merge your branch's changes into the main branch. It shows the differences and lets the team review and comment before merging.

### How do I make a profile README?

Create a public repository with the same name as your username, add a README.md with any content, and GitHub shows it on your profile page.

### Can I host a website on GitHub?

Yes, with GitHub Pages: it publishes HTML, CSS and JavaScript files from your repository as a site on a github.io address.


## Sources

[^1]: docs.github.com, https://docs.github.com/en/get-started/start-your-journey/hello-world
[^2]: docs.github.com, https://docs.github.com/en/get-started/start-your-journey/about-github-and-git
[^3]: docs.github.com, https://docs.github.com/en/desktop/overview/about-github-desktop
[^4]: docs.github.com, https://docs.github.com/en/pages/getting-started-with-github-pages/what-is-github-pages
[^5]: docs.github.com, https://docs.github.com/en/account-and-profile/how-tos/profile-customization/managing-your-profile-readme
[^6]: education.github.com, https://education.github.com/pack
