At its most basic, GitOps uses Git repositories to store configuration files that define the desired state of your infrastructure, such as a Kubernetes cluster or any cloud-native application. Much like in software development, push-pull requests make changes to the files and merge them with the main file. Then, automation tools check the operation of those changes before deploying them to the Kubernetes cluster.