When 'Undo' Isn't Enough and Google Docs Betrays You: git

DevHacks101 Aug 27, 2023

Hey KISJ coders! 🚀 Ever worked on a group project itin Google Slides and someone just accidentally deleted your masterpiece? Or maybe you've been the one to accidentally revert the whole doc, wiping out everyone's work? If you've been there, done that, then Git is about to become your new BFF. Let's dive in!

Git Init: The Group Chat Creation

Starting a new Git repository is like creating a new group chat for a project. It's where all the action happens.

git init

This command initializes a new Git repository and begins tracking an existing directory. It's like saying, "Hey, let's start a group chat for our project!"

Git Commit: The Project Milestone

Imagine you've just finished a slide in your group presentation. You're proud of it. It's got bullet points, images, and even a meme. You want to save this moment forever. In Git, this is a commit.

git add .
git commit -m "Added the best slide ever"
  • git add . : The . means you're adding all the changed files in the current directory to the staging area. If you want to add only specific files, replace the . with the file name like git add myAwesomeSlide.txt.
  • git commit -m "message" : The -m allows you to add a message describing the commit. Replace "message" with something descriptive like "Fixed all the typos" or "Added memes for comic relief".

Git Pull: Catching Up on the Group Chat

You know when you leave the group chat for an hour and come back to 100 messages? That's what git pull is for. It updates your local repository with any changes made in the group project while you were gone.

git pull origin master

This is like scrolling up in the group chat to see what you missed. Now you're all caught up!

  • origin is the default name of the remote repository.
  • master is the branch name you're pulling from. Replace master with the branch you want to update from if it's different.

Git Push: Sharing Your Genius

You've just created the most amazing slide ever. It's so good, you need to share it with your group ASAP. In Git, you'd use git push.

git push origin master

This pushes your changes to the repository. It's like sending your slide into the group chat and saying, "Feast your eyes on this, mortals!"

  • origin is, again, the default name of the remote repository.
  • master is the branch you're pushing to. If you're working on a different branch, replace master with your branch name.

Git Remote: The Cloud Storage

Just like how your Google Docs are stored in the cloud, Git repositories are often stored on a remote server.

git remote add origin <repository_url>

This is like choosing where to save your Google Doc. Except, with Git, multiple people can work on the project without accidentally deleting each other's work.

  • add is the command to add a new remote.
  • origin is the default name you're giving to this remote.
  • <repository_url> is the URL where your remote repository is stored. Replace it with your actual repository URL.

Git Branch: The Slide Design Sub-Committee

We all know that one person who doesn't follow the agreed slide design. In Git, you can create a branch to experiment without messing up the main project.

git checkout -b new-slide-design

This creates a new branch where you can mess around with slide designs all you want without affecting the main presentation.

  • checkout -b creates a new branch and switches you to it.
  • new-slide-design is the name of the new branch. Feel free to replace it with something like experimental-design or why-are-we-still-here.

Basic Conflict Solving: The Group Chat Argument

When a conflict occurs, Git will mark the areas of the conflict in the file. You'll see something like this:

<<<<<<< HEAD
Slide with memes
=======
Slide without memes
>>>>>>> branch-name

You'll have to manually edit the file to resolve the conflict. Delete the lines you don't want, along with the conflict markers (<<<<<<<, =======, >>>>>>>).

After resolving, run:

git add .
git commit -m "Resolved conflict"

And there you have it! Now you're not just pushing buttons; you're making informed decisions. It's like choosing your seat in class based on maximum visibility for web surfing and minimum visibility to the teacher. 🎉👩‍💻👨‍💻

Tags