DevOps Classroom Series – 15/Sept/2020

Basic Images

Preview Preview Preview

Version Control Systems

  • Developers cannot work in Isolation, The code developed by one developer will be used by other Developers Preview
  • 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 Preview
  • 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 Preview
  • 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) Preview

Generation-3: Version Control Systems (Distributed)

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

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 Reply

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

Please turn AdBlock off
Animated Social Media Icons by Acurax Responsive Web Designing Company

Discover more from Direct DevOps from Quality Thought

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

Continue reading

Visit Us On FacebookVisit Us On LinkedinVisit Us On Youtube