Git Basics: Getting Git Going

Welcome back to the Git Commit(ted) to </Dev> Resources series! Today, we will explore getting Git going and reviewing the basics. Git is a free and open-source distributed version control system. It is easy to learn and has a tiny footprint with lightning-fast performance. Git is supported on practically every platform and has built-in GUI tools for committing and browsing. However, users typically choose to interact with Git via the command-line interface (CLI) or a third-party GUI tool. We will explore the two ways I have personally used Git. I first started with the GitHub Desktop client, and then moved to the CLI built-in to VS Code once I fully understood Git operations. We will provide an overview of the Git basics and link to many external resources to help you get started. It's essential to learn how to leverage Git if you plan to contribute to the VMware EUC code repositories, which we will cover in an upcoming blog.
What is Git?
Git is a free and open-source distributed version control system. It is easy to learn and has a tiny footprint with lightning-fast performance.
- Git is a fast and modern implementation of version control.
- Git provides a history of content changes.
- Git facilitates collaborative changes to files.
- Git is easy to use for any type of knowledge worker.
Learning Git allows you to clone (download) code samples. For example, the ones published by VMware engineers. Git also allows you to make modifications (fixes or enhancements), then submit those changes for approval to be published. We will cover this process in a later blog, but for now, check out these resources to set up and get started with Git.
Get Git Going Resources
Git is free and open-source and is heavily documented. Therefore, I will not be recreating the wheel. I will instead provide a list of helpful resources to help you get started with Git.
Cheat Sheets
- GitHub Cheat Sheet
- GitLab's Git Cheat Sheet
- Visual Git Cheat Sheet
- Complete list of all commands
- Atlassian's Git Cheat Sheet
Videos
Guided Labs, Guides, and Reference Manuals
- Official Git Reference Documentation
- Pro Git Book
- Git – the simple guide
- Git Immersion: A guided tour that walks through the fundamentals of Git, inspired by the premise that to know a thing is to do it.
- Learn Git Branching is the most visual and interactive way to learn Git on the web; you'll be challenged with exciting levels, given step-by-step demonstrations of powerful features, and maybe even have a bit of fun along the way.
- Getting Git Right
Visual Differences between CLI and GUI
VS Code (Git CLI)
VS Code ships with a Git source control manager extension; therefore, getting started is pretty straightforward. However, this requires you to fully understand and leverage the Git commands. VS Code provides standard source control UI and workflows for all source control managers, including Git. You will want to start by clicking the Source Control icon in the Activity Bar on the left to get started. This view will allow you to quickly see your Changes, Staged Changes, and Merge Changes. Below, you can see a quick sample of me staging some changes to the EUC Samples GitHub repository. For a complete walkthrough, see VS Code's Git Support documentation.
GitHub Desktop (GUI)
GitHub Desktop is one of many third-party Git applications that enable you to interact with GitHub using a visual application rather than the Git command line. The learning curve is far less than learning all of the Git commands. As you can see below, you cannot edit files directly in this GUI (like you can in VS Code). Still, GitHub Desktop does a better job of showing you files that have changed, and allows you to quickly stage and commit them. It's also great at quickly seeing and changing your current branch. It enables you to fetch remote changes to the repository and shows you a history of everyones' changes. Overall, when using a third-party application, you will not have to learn the GUI commands. This is how I started to grasp the required steps and understand branching. Now I have moved on to doing literally everything I need within VS Code. For more information and steps on using GitHub Desktop, see Getting Started with GitHub Desktop.
Recap
I hope this Git overview and explanation between leveraging the CLI or third-party application motivates you to get started with cloning and then contributing to samples and repositories. Be sure to subscribe to the Digital Workspace Tech Zone Blog RSS or check back daily to see what we release. By the end of this month, we hope that you are comfortable leveraging code samples, VMware Flings, scripting/coding, and leveraging the EUC APIs to automate your workspace!
You can also follow us on Twitter @EUCTechZone to stay updated on the latest EUC content!
Agenda
Make sure to check out the other blog posts in our 28-day series:
- Day 1: Let's Git Commit(ted) to Dev Resources
- Day 2: Getting Started with the Workspace ONE UEM REST APIs
- Day 3: Getting Started with the Workspace ONE Access APIs
- Day 4: Getting Started with the VMware Workspace ONE Intelligence APIs
- Day 5: Getting Started with the VMware Horizon REST APIs and VMware PowerCLI
- Day 6: Getting Started with Automating the Unified Access Gateway Deployment
- Day 7: Podcast: Day 0 Onboarding Automation with Scot Curry
- Day 8: Video: Anatomy of the Workspace ONE UEM API
- Day 9: Introduction to using Postman - Part 1
- Day 10: Introduction to using Postman - Part 2
- Day 11: Pro Tips and Tricks - How to be an API Boss
- Day 12: What is OAuth - Learning the Basics
- Day 13: Getting Started with Intelligent Hub Notifications
- Day 14: Git Basics: Getting Git Going
- Day 15: Podcast: Git Commit(ted) to Resources: Customer Spotlight with The Home Depot
- Day 16: Git VMware {code} Samples and Flings
- Day 17: Using paginated requests with Workspace ONE UEM REST APIs
- Day 18: Event Notifications
- Day 19: Overview of Script Samples using PowerCLI for Horizon
- Day 20: Uploading Windows apps using REST APIs
- Day 21: Uploading macOS apps using REST APIs and Admin Assistant
- Day 22: API-based user lifecycle and SCIM
- Day 23: Video: Community Expert Roundtable on Leveraging APIs and Scripting
- Day 24: Video: Exploring the Workspace ONE GitHub Samples Repository
- Day 25: Featured Fling: Forklift for Workspace ONE UEM
- Day 26: Featured VMware {code} Samples for Horizon
- Day 27: Featured Flings for VMware Horizon
- Day 28: Continuing to Focus on </Dev> Resources Page