Now Available On-Demand | AI. The Future of Data Engineering - Today. Not Just Tomorrow.

Watch now

Mastering Git at Matillion. Commit, Push, and Pull.

Welcome to our blog series, which is designed to equip you with the knowledge and skills needed to master Git and revolutionize your version control experience in Matillion Data Productivity Cloud.

Born out of the need for a more efficient and reliable way to track changes in code and collaborate, Git provides a safety net for developers, allowing them to experiment without fear of irreversibly damaging their or their collaborators' work. With Git, mistakes are not the end of the road – they're merely detours on the path to improvement.

Over the coming weeks and months, we'll be publishing a series of blogs that cover every aspect of Git, from the basics to advanced techniques. Whether you're a novice developer keen to learn version control or a seasoned pro looking to deepen your understanding, our series will have something for everyone to help them get familiar with Matillion’s git tools.

Each blog in the series will delve into a specific topic, breaking down complex concepts into digestible, everyone-friendly explanations. From understanding the fundamentals of version control to mastering advanced Git commands, we've got you covered.

We'll also update this blog as new features are released, giving you guides for the latest tools you can use to enhance your version control experience in the Data Productivity Cloud.

So whether you're curious about branching strategies, merging conflicts, or how we’ve built these into the Data Productivity Cloud, stay tuned! Our series will guide you every step of the way, empowering you to become a Git expert in no time.

Get ready to unlock the full potential of version control and elevate your pipeline development game. Join us on this exciting journey as we explore the ins and outs of Git, one blog at a time. Time to Git Good with the Data Productivity Cloud!

  1. Commit, Push & Pull
  2. Branching
  3. Common branching strategies
  4. Merging
  5. Hard Reset
  6. Git status I: Commits to push (this feature is being delivered soon)
  7. Git status II: Uncommitted changes (this feature is being delivered soon)
  8. Git merge strategies (this feature is being worked on soon)
  9. Revert (this feature is later in the roadmap)

1: COMMIT, PUSH AND PULL

Git is here to streamline your workflow and ensure you never lose track of your project files or accidentally overwrite important changes. However, its concepts can be intimidating and downright confusing for new and experienced users alike.

In this blog post, we'll explore the concepts of working directory, staging, local, and remote workspaces and unravel the mysteries behind the common git actions: addcommit, push, and pull.

Imagine Git as your team of assistants, orchestrating the flow of changes in your codebase. 

Working Directory

Your Working Directory serves as your personal workspace, away from Git, where you craft and refine your code in solitude. In the Data Productivity Cloud, this is the Designer session in your web browser, where your changes are only visible to you.

Staging & Add

The Staging area is your first assistant, helping you organize and prepare your changes before you commit to them. When you make modifications to your files in the Working Directory, Git allows you to selectively add (and remove) these changes to the staging area. Anything added to the staging area is included in the upcoming commit to your local repository. 
Note: Currently, the Data Productivity Cloud handles this for you. All changes made in the Working Directory are automatically added to the Staging area, so there is no option to use the ‘add’ functionality in Matillion’s Data Productivity Cloud.

Local Repository & Commit

When you're happy with a set of changes, Git's Local Repository area steps in as your next assistant, storing your changes for later reference - like a personal archive. Committing changes in Git is akin to saving your progress in a labeled folder (with a commit message) that only you can access. Each commit encapsulates a snapshot of your project at a specific point in time, preserving the evolution of your codebase. The Local Repository enables you to track changes, revert to previous states, and collaborate with confidence.

Remote Repository & Push

But what if you're collaborating with a team, and you want them to see your changes? Enter the remote repository, your final assistant. Pushing changes to the remote repository is akin to moving your commits from the labeled folders in your local area to a central server, ensuring that every team member has access to the changes you’re happy with.

Pull

Finally, we have the pull action. Pulling changes from the remote repository is akin to synchronizing your local copy of the project with the collective efforts of your teammates. This exchange of changes fosters collaboration and ensures cohesion within your development team. Of course, there may be occasions where your teammates have changed things that clash with your changes. For more information on this, keep an eye out for our upcoming blog post on Merging.

Summary

Git operates like a team of assistants managing the progression of your codebase, from the initial crafting in the Working Directory to the collaborative integration via add, commit, push, and pull actions. This ensures seamless collaboration and preservation of your project's evolution across all stages of development.

Git’s different areas empower developers to collaborate effectively and manage projects with precision. By mastering this fundamental concept, you have started your journey in navigating version control with confidence. Now it’s time to Git Good with the Data Productivity Cloud.

Find Part Two and Part Three here! 

Bryns Jones
Bryns Jones

Senior Engineering Manager

Bryns Jones is a Senior Engineering Manager working with the DataOps team at Matillion