Source Code Management: Source code management is the process of tracking and managing changes to the software over the software development lifecycle.
-
Repository
-
Server
-
Client
-
Working Directory
-
Trunk
-
Add
-
Check Out
-
Check In
-
Check In message
-
Revision
-
Head
-
Changelog
-
Revert
-
Backup and Restore
-
Synchronize
-
Earlier version review
-
Recent version restore
-
Version History
-
Owner History
-
Testing Environment
-
Branching and Merging
-
Git is a distributed version control system used for managing the source code in software development by tracking changes to files and coordinating work among multiple users.
-
Git is released as free software under the terms of the GNU General Public License version 2 or later.
-
Git perceives the information as a series of snapshots of files. Git takes a snapshot of how files look like at the moment when a project is committed or saved and it stores a reference to that snapshot of files.
-
As an efficient version control system, Git does not store snapshot of files again if nothing has changed in the file and it only stores a link to the previous identical snapshot of the file it has already stored.
-
Modified
-
Staged
-
Committed
-
Git version control system assigns a checksum to every file or directory before it is stored and the file or directory is referenced by that checksum.
-
The checksum is usually a 40-character string which is composed of hexadecimal characters (a-f and 0-9) and it is calculated depending on the contents of a file or directory in Git.
-
Git uses SHA-1 hash mechanism for checksumming.
-
The SHA-1 (Secure Hash Algorithm 1) is a cryptographic hash algorithm which generates a checksum from a sequence of bytes of any length in a file or a directory.
-
Working Directory
-
Staging Area
-
Git Directory
-
Non-Linear Development Support
-
Distributed Development
-
Compatibility
-
Large Projects Handling
-
Encryption of History
-
Toolkit based Design
-
Flexible merges
-
Garbage collection
-
Periodic Packing of files
GitHub is a cloud based repository hosting service for Git VCS.