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
- Shared Folder:
- 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

- Third: Distributed Version Control Systems
- Networking: Distributed
- Operations: Changesets
- Concurrency: Commit before merge
- Examples: Git, Mercurial

- First:
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
- Install Chocolatey Refer Here
- Linux:
- Ubuntu:
sudo apt update && sudo apt install git -y - RHEL:
sudo yum install git -y
- Ubuntu:
- MAC:
- When you install xcode we get git Refer Here
- Install homebrew Refer Here
brew install git
- Windows
