DevOps Classroom Series – 15/Sept/2020

Basic Images

Version Control Systems

  • Developers cannot work in Isolation, The code developed by one developer will be used by other Developers
  • Now lets explore some options to implement this
    • Network File Share:
      1. Can two people access the file simultaneously and make changes?
      2. Versioning for files is not supported directly
  • To resolve these issue A Version Control System was created. Version Control System should have versions of changes made.
  • During the course of 40 years, we have 3 major generations of version control systems

Generation-1 Version Control System

  • Examples: RCS, SCCS
  • Networking: Not supported
  • Operations: One file at time
  • Concurrency: Locks

Generation-2 Version Control Systems (Centralized)

  • Examples: CVS, Visual Source Safe, Clear Case, Subversion etc..
  • Networking: Centralized
  • Operations: Multi-file
  • Concurrency: yes
  • In Generation we have two major models
    • Clients should always be connected to servers
    • Clients can work offline and connect to server before submitting changes
  • All the code gets stored and versioned on the server.
  • As the sites increase the administrative efforts increase and admins need to set up Disaster Recovery and Backups. Maintain sync between sites (VCS-Server)

Generation-3: Version Control Systems (Distributed)

  • Examples: Git, Mercurial
  • Operations: Changesets (Multi files)
  • Network: Distributed
  • GIT (global information tracker) was built by linus torvalds and he implemented a simple, clean distributed vcs.

Version Control System:

  • This is a system that records changes to files, maintains history which we call as versions or revisions and It will help multiple users to connect to it & create, update, retrieve and delete the changes

Git:

  • Git is a open-source and free software Refer Here.
  • In Git We have two major use cases
    • Client Software:
      • Git
      • GitBash
      • Source Tree
      • Tortoise Git
      • Git has extensions in almost all IDEs.
    • Server features on Git (Connectivity to clients, User Management)
      • Gitolite (On-premise)
      • GitHub
      • GitLab
      • BitBucket
      • CodeCommit
      • Azure Source Repo’s

Leave a ReplyCancel reply

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

Please turn AdBlock off
Plugin for Social Media by Acurax Wordpress Design Studio

Discover more from Direct DevOps from Quality Thought

Subscribe now to keep reading and get access to the full archive.

Continue reading

Exit mobile version
%%footer%%