Git
Git is a distributed version control system created by Linus Torvalds in 2005 for Linux kernel development. It distinguishes itself from centralized systems like Subversion by enabling full local repositories, allowing offline work and fast branching/merging. Companies like Google, Microsoft, and Netflix use Git for managing codebases across teams, implementing workflows like GitFlow or trunk-based development. A key technical detail is its use of SHA-1 hashes for commit IDs, which ensures data integrity but has led to concerns about collision vulnerabilities.
Use Git when you need robust version control for collaborative software development, especially in distributed teams or open-source projects where offline access and branching are critical. It is the right pick for managing large codebases with frequent merges, as seen in Linux kernel maintenance. Avoid Git for simple file backup or non-text binary-heavy projects, as its diff-based model can be inefficient for large binaries. A weakness acknowledged by the community is its steep learning curve, with complex commands and concepts like rebasing often confusing beginners.