Unit - 1 Git & Github
Unit - 1 Git & Github
A Git repository tracks and saves the history of all changes made to the files in a Git
project. It saves this data in a directory called .git, also known as the repository folder.
Git uses a version control system to track all changes made to the project and save them
in the repository. Users can then delete or copy existing repositories or create new ones
for ongoing projects.
Repository can contain folder and files images and audio, video, datasets so on ..
anything the project needs.
Types of Git Repository
Bare Repositories
Software development teams use bare repositories to share changes made by team members.
Individual users aren't allowed to modify or create new versions of the repository.
Non-Bare Repositories
With non-bare repositories, users can modify the existing repository and create new versions.
By default, the cloning process creates a non-bare repository.
Infrastructure as Code (IaC) is the process of managing your IT infrastructure using
automatic scripts instead of manually.
Infrastructure as code is the process of managing and provisioning computer data center
resources through machine-readable definition files, rather than physical hardware
configuration or interactive configuration tools.
One of the crucial elements of the DevOps software development approach, it allows you to
fully automate deployment and configuration, thus making continuous delivery possible.
In an imperative (procedural) approach, you must define specific step-by-step commands to achieve the required
configuration. Here, you can be very detailed and create complex configurations, having more control over the task. But you do
need a high level of skill to write those commands with languages like Java, Ruby, or Python.
Provisioning is the process of setting up an IT infrastructure: virtual machines, databases, access to resources, and making
them available to the users. The configuration job is then done by a different tool.
Configuration management comes after provisioning and it means installing software, configuring servers’ desired state and
maintaining them.
A mutable infrastructure can be changed to fit business needs. You can easily introduce updates to the existing version, apply
patches, and scale. While this may be handy, each upgrade compromises your operation security. Besides, this may negate one
of IoC purposes - consistency.
An immutable infrastructure can’t be changed once deployed. If you want to make alterations to it, you have to replace it with a
new version. Since versions are independent, you can easily roll back, track mistakes, and enjoy consistency and predictability.
Immutable infrastructures are considered a preferred method since it actually delivers on all the benefits of IaC.