DEV Community

Cover image for Your First Steps in Git and GitHub A Step-by-Step Guide for Newbies
Ashwin Kumar
Ashwin Kumar

Posted on

Your First Steps in Git and GitHub A Step-by-Step Guide for Newbies

➤ Welcome to the Git and GitHub Guide!

So, you’re here, which means you’re starting to learn about Git and GitHub. You’ve come to the right place! In this post, I’ll explain everything in a simple way that you won’t forget. This guide is for beginners, but I’ll share some resources at the end for those looking for advanced commands.

I assume you already know how to create a repository on GitHub and that you have Git installed on your system. If you’d like me to create a separate post on how to do this, feel free to comment below!

➤ What is Git, Anyway?

  • Version Control System: Git is a tool that helps you track changes in your code.
  • Local Repository: You keep a copy of your project on your computer.
  • Collaboration: It makes it easy to work with others on the same project.
  • History: Git keeps a history of all your changes, so you can go back if needed.

➤ What is GitHub, Anyway?

  • Cloud Service: GitHub is a platform to host your Git repositories online.
  • Collaboration Hub: It allows you to share your projects and collaborate with others.
  • Public and Private Repos: You can make your projects public or keep them private.
  • Community: GitHub has a huge community where you can discover projects and contribute.

Now that you know what Git and GitHub are, let’s jump into some simple GitHub kickstarters. In the industry, you’ll mostly work on GitHub, although there are other cloud-based services like GitBucket.

➤ How to Push Code to GitHub

Let’s say you’ve created a project and want to push it to your remote repository. Here’s how you can do it step by step:

  1. Create a Repository on GitHub: Go to GitHub and create a new repository. Copy the URL of this repository for later use.

  2. Open Your Terminal: Navigate to your project folder where your code is located.

  3. Initialize Git:

   git init
Enter fullscreen mode Exit fullscreen mode
  • What it does: This command initializes a new Git repository in your project folder. It creates a hidden .git directory, where Git stores all the necessary metadata and version history for your project.
  1. Stage Your Changes:
   git add .
Enter fullscreen mode Exit fullscreen mode
  • What it does: This stages all the changes in your project. It tells Git that you want to include these changes in your next commit. The . signifies that you want to add all files.
  1. Commit Your Changes:
   git commit -m "Initial commit"
Enter fullscreen mode Exit fullscreen mode
  • What it does: This commits the staged changes to your local repository. The -m flag allows you to add a message describing the changes. Here, we’re labeling it as "Initial commit" to indicate the first version of the project.
  1. Link Your Local Repo to GitHub:
   git remote add origin <GitHub_repo_URL>
Enter fullscreen mode Exit fullscreen mode
  • What it does: This links your local repository to the remote repository you created on GitHub. origin is the default name for this link, and you replace <GitHub_repo_URL> with the URL you copied earlier.
  1. Push Your Code to GitHub:
   git push -u origin main
Enter fullscreen mode Exit fullscreen mode
  • What it does: This pushes your committed changes to the remote repository on GitHub. The -u flag sets the upstream branch, allowing you to push to the same branch in the future without specifying it again. origin is the remote name, and main is the branch name (use master if that’s your default branch).

And that’s it! Your repo is now online.

➤ Making Future Commits

If you want to make changes later, just follow these commands:

  1. Stage Your New Changes:
   git add .
Enter fullscreen mode Exit fullscreen mode
  • What it does: This stages any new or modified files for commit.
  1. Commit Your Changes:
   git commit -m "Your message"
Enter fullscreen mode Exit fullscreen mode
  • What it does: This commits your staged changes with a message describing what you changed.
  1. Push Changes to GitHub:
   git push
Enter fullscreen mode Exit fullscreen mode
  • What it does: This pushes your committed changes to the remote repository on GitHub. Since you’ve set the upstream branch earlier, you can just type git push without any additional arguments.

Now you know how to push your own repo online and handle future commits!

➤ Scenario: Contributing to Others' Repositories

Let’s say you want to contribute to someone else’s project. Here’s how you can do that step by step:

  1. Fork the Repository: Go to the repository you want to contribute to and click on the "Fork" button. This creates a copy in your GitHub account.

  2. Clone Your Fork:

   git clone <Your_Fork_URL>
Enter fullscreen mode Exit fullscreen mode
  • What it does: This command copies your forked repository to your local machine. Replace <Your_Fork_URL> with the URL of your fork.
  1. Navigate to Your Project Folder:
   cd <Your_Repo_Name>
Enter fullscreen mode Exit fullscreen mode
  • What it does: This changes your terminal’s directory to your cloned repository folder.
  1. Make Changes: Edit the files as needed.

  2. Stage Your Changes:

   git add .
Enter fullscreen mode Exit fullscreen mode
  • What it does: This stages your new changes.
  1. Commit Your Changes:
   git commit -m "Your message"
Enter fullscreen mode Exit fullscreen mode
  • What it does: This commits your changes with a message.
  1. Push Changes to Your Fork:
   git push
Enter fullscreen mode Exit fullscreen mode
  • What it does: This pushes your committed changes to your forked repository on GitHub.
  1. Create a Pull Request: Go back to the original repository on GitHub and click on "Pull Requests." Then, click on "New Pull Request." Select your branch with changes and submit the pull request. This notifies the repository owner about your proposed changes.

  2. Merge the Pull Request (if you're the owner of the repository):

    • If your pull request is approved, you can merge it into the main branch of the original repository by clicking "Merge Pull Request." This incorporates your changes into the project.

And that’s it! You now know how to contribute to others' repositories on GitHub.

➤ Final Thoughts

Congratulations! 👏 You’ve taken your first steps into the world of Git and GitHub. If you want to dive deeper and learn advanced commands, here are some resources I found helpful:

Happy coding, and don’t hesitate to explore more.

Top comments (0)