Skip to main content

Command Palette

Search for a command to run...

Day 8 Task: Basic Git & GitHub for DevOps Engineers.

Published
4 min readView as Markdown
Day 8 Task: Basic Git & GitHub for DevOps Engineers.

What is Git?

Git is a distributed version control system that is widely used in software development to manage source code and track changes made to code over time.

Git allows developers to collaborate on projects by making it easy to merge changes made by multiple contributors. It also provides features such as branching and tagging, which make it easy to experiment with different versions of a project and track specific milestones.

One of the key benefits of Git is its distributed nature, which means that every developer has a complete copy of the repository on their local machine. This allows developers to work offline and makes it easy to recover from data loss or other issues.

What is GitHub?

GitHub is a web-based platform that provides hosting for version control using Git. It is a subsidiary of Microsoft, and it offers all of the distributed version control and source code management (SCM) functionality of Git as well as adding its own features. GitHub is a very popular platform for developers to share and collaborate on projects, and it is also used for hosting open-source projects.

What is Version Control? How many types of version controls we have?

Version control is a system that tracks changes to a file or set of files over time so that you can recall specific versions later. It allows you to revert files back to a previous state, revert the entire project back to a previous state, compare changes over time, see who last modified something that might be causing a problem, who introduced an issue and when, and more.

There are two main types of version control systems: centralized version control systems and distributed version control systems.

1) A centralized version control system :(CVCS) uses a central server to store all the versions of a project's files. Developers "check out" files from the central server, make changes, and then "check in" the updated files. Examples of CVCS include Subversion and Perforce.

2) A distributed version control system :(DVCS) allows developers to "clone" an entire repository, including the entire version history of the project. This means that they have a complete local copy of the repository, including all branches and past versions. Developers can work independently and then later merge their changes back into the main repository. Examples of DVCS include Git, Mercurial, and Darcs.

Why we use distributed version control over centralized version control?

1) Better collaboration: In a DVCS, every developer has a full copy of the repository, including the entire history of all changes. This makes it easier for developers to work together, as they don't have to constantly communicate with a central server to commit their changes or to see the changes made by others.

2) Improved speed: Because developers have a local copy of the repository, they can commit their changes and perform other version control actions faster, as they don't have to communicate with a central server.

3) Greater flexibility: With a DVCS, developers can work offline and commit their changes later when they do have an internet connection. They can also choose to share their changes with only a subset of the team, rather than pushing all of their changes to a central server.

4) Enhanced security: In a DVCS, the repository history is stored on multiple servers and computers, which makes it more resistant to data loss. If the central server in a CVCS goes down or the repository becomes corrupted, it can be difficult to recover the lost data.

Overall, the decentralized nature of a DVCS allows for greater collaboration, flexibility, and security, making it a popular choice for many teams.

- Install Git on your computer

apt-get install git
git --version

1) Create a new repository on GitHub and clone it to your local machine.

  • Click on New to create a new repository.

  • Copy the repository URL by clicking on the green "code" button on the repository you want to clone. Copy the URL.

  • Once the repository is created you can clone it to your local machine.

      git clone repository URL
    

2) Make some changes to a file in the repository and commit them to the repository using Git.

  • Make some changes to a file using a text editor.

  • Run the below command to stage the changes.

      git add <file-name>
    

    Replace the <file-name> with the name of the file you changed.

  • Commit the changes by running the command

      git commit -m "Commit message"
    

    Replace "Commit message" with a brief description of the change you made.

3) Push the changes back to the repository on GitHub.

  • Push the back to the repository on GitHub by running the following command.

      git push
    

    These commands will stage your changes, Commit them to your local repository and push them to the remote repository on GitHub.

    Thank you for reading the article.

More from this blog

Untitled Publication

22 posts