Skip to main content

Command Palette

Search for a command to run...

Day 9: Deep Dive in Git & GitHub

DevOps Learning:

Updated
6 min readView as Markdown
Day 9: Deep Dive in Git & GitHub

Answering some common questions about Git & GitHub

What is Git and why is it important?

  1. Git:

    Imagine you’re building a LEGO castle, and each colorful brick represents a piece of your computer program. Git is like a super-smart notebook where you write down all the steps to create that program. It’s your secret spell book for coding adventures! 🧙‍♂️

    1. Time Travel for Code:

      • Git lets you be a time traveler! Imagine if you could go back in time and fix a mistake you . Git allows programmers to do exactly that.

      • If you accidentally break something, Git helps you rewind to an earlier version of your code.

    2. Teamwork :

      • When programmers work together on a big project Git helps them collaborate.

      • They can share their code, see what others are doing, and merge their changes seamlessly.

    3. Safety :

      • Ever accidentally delete a file ? Git keeps a backup of all your code.

      • If something goes wrong, you can restore your code from Git’s magical backup.

    4. Branches and Experiments:

      • Imagine building two different features at the same time. Git lets you create separate “branches” for different features.

      • You can experiment without messing up the main branch. Once your code works perfectly, you merge it back into the main branch!

    5. Show and Tell:

      • Git helps programmers share their code with the world.

      • They can publish it online (on platforms like GitHub) for others to see, learn from, and even contribute to.

Why Is Git Important?

  • Because Wizards Need Spells! Just like wizards need spells to perform magic, programmers need Git to create software magic. It’s their trusty wand for building cool apps, games, and websites.

  • Teamwork Makes the Magic Happen: When wizards team up, they create more powerful spells. Git enables teamwork, so programmers can build bigger, better, and more enchanting projects together.

  • No More Lost Code: Git ensures that no code disappears into thin air. It’s like having a magical backpack that holds all your LEGO pieces—even the tiny ones!

What is difference Between Main Branch and Master Branch?

    • Master Branch:

      • Historically, the term “Master” was commonly used as the default branch name in Git repositories. It represented the primary branch where the stable and production-ready code lived.

      • Developers would work on feature branches, experiment, and make changes. Once everything was tested and ready, they merged their changes into the Master branch.

      • However, the use of “Master” has been reconsidered due to its potential negative connotations. Some people found it inappropriate given its historical context (related to slavery).

      • Despite this, many existing repositories still use “Master” as their default branch.

      • Main Branch:

        • The term “Main” emerged as an alternative to “Master.” It’s a more neutral and inclusive choice.

        • When you create a new Git repository today, the default branch is often named “Main.”

        • The Main branch serves the same purpose as the Master branch: It holds the stable, production-ready code.

        • Developers create feature branches, work on their changes, and eventually merge them into the Main branch.

      • Renaming the Branch:

        • If you have an existing repository with a Master branch and want to switch to Main, you can rename it.

        • This process involves renaming the branch locally, pushing the changes to the remote repository, and updating any references.

Difference between Git and GitHub?

  1. Git:

    • 🛠️ Tool for Wizards: Git is like a magical toolbox for programmers. It helps them manage and keep track of their code changes.

    • 📜 Version Control Scrolls: Whenever you modify your code (like adding a new spell to your spellbook), Git records it. It’s your code’s history book.

    • 🌟 Local Sorcery: Git lives on your own computer. You use it through commands in your terminal (like casting spells with incantations).

  2. GitHub:

    • 🏰 The Castle in the Clouds: Imagine a castle where wizards gather to share their magical scrolls. That’s GitHub!

    • 🌐 Web-Based Enchantment: GitHub is a web service that hosts Git repositories. It’s like a cloud library for your code.

    • 🚀 Collaboration Portal: Wizards from all over the world can collaborate on projects hosted on GitHub. They share their spells, learn from each other, and build epic quests together.

  3. Key Differences:

    • Purpose:

      • Git: Focuses on version control and code sharing.

      • GitHub: Centers around centralized source code hosting.

    • Installation:

      • Git: Installed locally on your system.

      • GitHub: Hosted on the web—no local installation needed.

    • Maintenance:

      • Git: Maintained by the Linux community.

      • GitHub: Crafted by the wizards at Microsoft.

    • User Management:

      • Git: No built-in user management.

      • GitHub: Has its own user management features.

    • Licensing:

      • Git: Open-source.

      • GitHub: Offers both free and paid tiers.

    • Tool Integration:

      • Git: Minimal external tool configuration.

      • GitHub: Active marketplace for tool integration.

    • Desktop Interfaces:

      • Git: Has Git GUI (a desktop interface).

      • GitHub: Provides GitHub Desktop for a friendly interface.

How do you create a new repository on GitHub?

What is difference between local & remote repository? How to connect local to remote?

Local Repository:

  • 🏠 Your Workspace: A local repository exists on your computer’s hard drive. It’s like your cozy workspace where you store all your project files and their revisions.

  • 📜 Version Control: With a local repository, you can track changes made over time. It’s like having a magical time-turner for your code.

  • 🚀 Independence: You can commit, branch, and work on your own repo locally—even without internet access. It’s your personal coding haven.

Remote Repository:

  • 🌐 The Cloud Castle: Remote repositories live elsewhere—on servers or hosted platforms like GitHub, GitLab, or Bitbucket.

  • 🤝 Shared Among Wizards: They’re shared among multiple team members. Programmers collaborate here, share their code, and build epic quests together.

  • 🌟 Backup and Collaboration: Remote repos act as backups. Plus, they enable teamwork and global collaboration.

Connecting Local to Remote:

  1. Create a Remote Repository:

    • If you haven’t already, create a remote repository on a platform like GitHub.
  2. Link Your Local Repo:

    • In your local repository, use the following command:

        git remote add origin <remote_repo_URL>
      

      Replace <remote_repo_URL> with the actual URL of your remote repository (e.g., GitHub).

  3. Verify the Connection:

    • To check if the link worked, run:

        git remote -v
      

      It should show the remote URL you just added.

  4. Push Your Magic Spells:

    • Now, whenever you’re ready, push your local changes to the remote:

        git push --all origin
      
    • If you want to set all your branches to automatically use this remote for git pull, add --set-upstream:

        git push --all --set-upstream origin
      

And there you have it! Your local and remote repositories are now connected. 🚀✨

Thank you for reading😉.