Useful Links
Computer Science
Other Tools and Technologies
Git Version Control System
1. Introduction to Version Control
2. Git Fundamentals
3. Getting Started with Git
4. The Basic Git Workflow
5. Branching in Git
6. Merging and Integrating Changes
7. Working with Remote Repositories
8. Undoing Changes
9. Advanced Git Tools
10. Rewriting History
11. Inspecting and Comparing
12. Collaboration Workflows
13. Git Internals
14. Customizing Git
15. Advanced Topics
Git Fundamentals
Overview of Git
What is Git
Distributed Version Control System
Open Source Project
Command-Line Tool
Use Cases for Git
Software Development
Documentation Management
Configuration Management
Creative Projects
History of Git
Origins and Development
Linux Kernel Development Needs
BitKeeper Controversy
Initial Release Timeline
Key Contributors
Linus Torvalds
Junio Hamano
Core Development Team
Evolution of Git
Major Version Milestones
Feature Development
Adoption Growth
Git Design Philosophy
Snapshots Not Differences
Complete File States
Efficient Storage
Fast Operations
Local Operations and Performance
Offline Capabilities
Speed Advantages
Network Independence
Data Integrity and Security
SHA-1 Checksums
Corruption Detection
Tamper Evidence
Distributed Collaboration
No Central Authority
Flexible Workflows
Redundant Storage
The Three States of Files
Modified State
Working Directory Changes
Unsaved Modifications
File Status Indicators
Staged State
Index Preparation
Commit Candidates
Selective Staging
Committed State
Repository Storage
Permanent History
Snapshot Creation
Transitioning Between States
State Change Commands
Workflow Patterns
Best Practices
The Three Main Sections of a Git Project
The Working Directory
Role and Function
Active File Editing
Current Project State
User Workspace
File Status in Working Directory
Tracked Files
Untracked Files
Modified Files
Ignored Files
The Staging Area
Purpose of the Staging Area
Commit Preparation
Change Selection
Quality Control
Staging vs Committing
Two-Step Process
Granular Control
Review Opportunities
The Git Directory
Structure of the .git Directory
Objects Database
References
Configuration Files
Hooks Directory
Storing History and Metadata
Commit Objects
Tree Objects
Blob Objects
Tag Objects
Previous
1. Introduction to Version Control
Go to top
Next
3. Getting Started with Git