DevOps Classroom Series – 03/Feb/2021

How is Source Code Managed?

  • Multiple developers work on the same source code for the project
  • To make this possibility a reality, we can use
    • Shared Folder:
      • This is a simple approach
      • Problems:
        • Two People cannot work on same file at same time
  • To make source code management effective, users should be able to
    • go back in history to find out changes
    • We need versions/Revisions for every change by developer
    • History of all the changes
  • Version Control System also known as Source Control is a software that
    • Manages changes to software code by maintaining versions for every change
    • Allows multiple users to use the Source Code parallely and submit their changes
    • Backup and Restoration options in the case of server failures.
  • Generations of Version Control Systems
    • First:
      • Networking: None
      • Operations: One file at a time
      • Concurrency: Locks
      • Examples: SCCS, RCS
    • Second: Centralized Version Control Systems
      • Networking: Centralized
      • Operations: Multi-files
      • Concurrency: Merge befor Commit
      • Examples: CVS, Source Safe, Subversion, Clear Cases, Team Foundation Server Preview
    • Third: Distributed Version Control Systems
      • Networking: Distributed
      • Operations: Changesets
      • Concurrency: Commit before merge
      • Examples: Git, Mercurial Preview

GIT

  • Linus Torvalds creator of Linux developed own tool based on the lessons learned from past experience and had some design goals to build a distributed version control system
    • Speed
    • Simple
    • Fully distributed
    • Ability to handle large projects like linux kernel effeciently
    • Support for non-linear development
  • Installing Git
    • Windows
    • Linux:
      • Ubuntu: sudo apt update && sudo apt install git -y
      • RHEL: sudo yum install git -y
    • MAC:
      brew install git
      

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

About learningthoughtsadmin