In today’s fast-paced development environment, tracking changes, collaborating with teams, and maintaining code history are essential—and that’s where Git becomes invaluable. Git allows developers to work efficiently, experiment safely, and collaborate seamlessly without overwriting each other’s work. Most of us regularly spent time on design as well as verification fundamentals, but areas like automation, version control, and shell scripting are often not given as much focus. So let us do a deep dive into the world of Git and understand how it helps teams work seamlessly together. We begin the course with the installation of Git, followed by setting environment variables to ensure Git commands work in both the Windows PowerShell. Once we confirm Git is working correctly on both, we proceed with a thorough discussion of different areas Git uses to save changes. This includes understanding the stash area, staging area, local repository, and remote repository in detail, along with demonstrations of how they are used. Once we understand these areas, the first step is to convert a directory into a repository, add code, and push it to a remote repository. After successfully doing this, we move on to understanding branches. For every new issue we handle, we create a separate branch instead of working directly on the main branch where production code exists. Each issue is resolved in its own branch, then sent for review, and once approved, the team lead merges the changes into the main branch. We will also cover how to raise new issues and assign them to team members, who then use branches to resolve them. Since multiple developers often work on the same project, it is possible for changes to occur in the same file and even on the same lines. In such cases, Git cannot automatically decide which changes to keep, so we will learn how to resolve merge conflicts effectively. Once the code is ready, we often want to test it before merging into production. Sometimes code works locally but fails on the remote setup. To handle this, we ensure that merges are allowed only when changes pass checks both locally and on the remote repository. We will learn how to implement this using GitHub Actions by running a self-hosted runner that replicates the FPGA design flow for every change. This process is part of a CI/CD pipeline. Once all issues are resolved and we have a production-ready version of the system, we use tags to mark that commit as a special release. Git then allows us to bundle the source code for that release, making it easy to switch between different versions of the system later. Finally, we cover recommended best practices used in DevOps over the years while working with GitHub to ensure we are following the right approach. After learning all the essential Git commands and workflows, the last step is to build a portfolio to showcase your Git skills to fellow developers and recruiters. So, what are you waiting for? Let’s explore Git together
In today’s fast-paced development environment, tracking changes, collaborating with teams, and maintaining code history are essential—and that’s where Git becomes invaluable. Git allows developers to work efficiently, experiment safely, and collaborate seamlessly without overwriting each other’s work. Most of us regularly spent time on design as well as verification fundamentals, but areas like automation, version control, and shell scripting are often not given as much focus. So let us do a deep dive into the world of Git and understand how it helps teams work seamlessly together. We begin the course with the installation of Git, followed by setting environment variables to ensure Git commands work in both the Windows PowerShell. Once we confirm Git is working correctly on both, we proceed with a thorough discussion of different areas Git uses to save changes. This includes understanding the stash area, staging area, local repository, and remote repository in detail, along with demonstrations of how they are used. Once we understand these areas, the first step is to convert a directory into a repository, add code, and push it to a remote repository. After successfully doing this, we move on to understanding branches. For every new issue we handle, we create a separate branch instead of working directly on the main branch where production code exists. Each issue is resolved in its own branch, then sent for review, and once approved, the team lead merges the changes into the main branch. We will also cover how to raise new issues and assign them to team members, who then use branches to resolve them. Since multiple developers often work on the same project, it is possible for changes to occur in the same file and even on the same lines. In such cases, Git cannot automatically decide which changes to keep, so we will learn how to resolve merge conflicts effectively. Once the code is ready, we often want to test it before merging into production. Sometimes code works locally but fails on the remote setup. To handle this, we ensure that merges are allowed only when changes pass checks both locally and on the remote repository. We will learn how to implement this using GitHub Actions by running a self-hosted runner that replicates the FPGA design flow for every change. This process is part of a CI/CD pipeline. Once all issues are resolved and we have a production-ready version of the system, we use tags to mark that commit as a special release. Git then allows us to bundle the source code for that release, making it easy to switch between different versions of the system later. Finally, we cover recommended best practices used in DevOps over the years while working with GitHub to ensure we are following the right approach. After learning all the essential Git commands and workflows, the last step is to build a portfolio to showcase your Git skills to fellow developers and recruiters. So, what are you waiting for? Let’s explore Git together
Founder, Namaste FPGA · Mumbai, India
15 years of production silicon — from high-frequency trading on Xilinx Alveo, to India's indigenous MRI machine, to training engineers at Mumbai University. Top 1K instructor on Udemy. Every course here comes from work he's actually shipped.
No reviews yet
Be the first to review this course.