Best of Version Control2025

  1. 1
    Article
    Avatar of thoughbotthoughbot·26w

    Git 3.0 will use main as the default branch

    Git 3.0 will default to 'main' as the initial branch name instead of 'master', marking the completion of a transition announced in 2020. Expected near the end of 2026, the release will also switch from SHA-1 to SHA-256 hashing for improved security, introduce a new storage format optimized for macOS and Windows, and formally integrate Rust into the build process.

  2. 2
    Video
    Avatar of youtubeYouTube·1y

    Google's Git Killer Is INSANELY Better (and it's open source)

    Explore how JJ, a new version control system written in Rust, offers a fresh approach to version control. Backed by experts and featuring advanced functionalities like automatic rebase, JJ simplifies complex tasks such as branching, merging, and resolving conflicts. With support for familiar commands, JJ promises a more efficient workflow while maintaining compatibility with Git as its underlying database.

  3. 3
    Article
    Avatar of freecodecampfreeCodeCamp·1y

    How to Use Lazygit to Improve Your Git Workflow

    Lazygit is an open-source command-line UI tool that simplifies Git commands with a user-friendly interface and keyboard shortcuts. It allows users to manage Git operations like commit, push, pull, create, and delete branches efficiently. The post provides a tutorial on installing Lazygit on various operating systems, an overview of its UI and panels, essential shortcuts, and a guide to common Git operations using Lazygit.

  4. 4
    Article
    Avatar of communityCommunity Picks·1y

    Git Branching Strategies: A Comprehensive Guide

    Version control is essential in modern software development, and Git is the industry standard. This guide explores popular Git branching strategies, including GitFlow, GitHub Flow, GitLab Flow, Trunk-Based Development, Feature Branching, Environment Branching, Release Branching, and Forking Workflow. It details the structure and workflow of each strategy, along with their pros and cons, helping readers choose the best strategy for their team and project requirements.

  5. 5
    Article
    Avatar of jobsJobs·41w

    Multiple GitHub Accounts — A Must-Have Skill for Developers

    Managing multiple GitHub accounts on one machine requires proper SSH key configuration and Git settings. The setup involves creating separate SSH keys for each account, configuring SSH hosts with specific identity files, using Git's includeIf directive for folder-specific configurations, and organizing projects by directories. This approach prevents accidentally pushing to the wrong account and automates the switching between personal and work repositories.

  6. 6
    Video
    Avatar of codinggopherThe Coding Gopher·1y

    How 10X Engineers Use Git

    The post explains advanced Git commands like git stash, git bisect, and git submodule, detailing their uses and benefits. It also covers the git cherry-pick command, illustrating how it allows selecting specific commits from a branch and adding them to another, emphasizing its utility and potential drawbacks.

  7. 7
    Article
    Avatar of workchroniclesWork Chronicles·45w

    (comic) Meaningful Commit Message

    A humorous comic that highlights the common developer struggle of writing meaningful git commit messages, poking fun at the tendency to use vague or unhelpful commit descriptions in version control systems.

  8. 8
    Video
    Avatar of codinggopherThe Coding Gopher·43w

    99% of Developers Don't Get Git Rebase

    Git rebase is a powerful command that rewrites commit history by replaying commits from one branch onto another, creating a linear history instead of merge commits. Unlike git merge which preserves branching structure, rebase transplants commits as if they were created on top of the target branch. The process involves finding the common ancestor, temporarily storing unique commits, and reapplying them with new hashes. Interactive rebase allows developers to squash, reorder, edit, or drop commits for cleaner history. However, rebasing shared branches is dangerous as it rewrites history and can disrupt collaborators. Best practices include only rebasing local feature branches and using clear commit messages for better code review workflows.

  9. 9
    Article
    Avatar of lobstersLobsters·1y

    Every line of code is always documented

    Every line of code is inherently documented through the project's version control history. By analyzing commit messages, developers can uncover why specific lines of code were written, making history a valuable tool for understanding and improving code. Effective use of git blame, git log, and other tools can help identify who wrote specific code, when it was added, and the reasoning behind it. Improving commit messages and avoiding unrelated changes in a single commit are stressed as important practices.

  10. 10
    Article
    Avatar of ashishsquadAshish's Squad·1y

    🎨 The Art of Writing Awesome Commit Messages

    Learn how to write clear and effective commit messages in Git. Discover best practices and techniques to improve your version control process and make your codebase easier to understand and maintain.

  11. 11
    Article
    Avatar of systemdesignnewsSystem Design Newsletter·29w

    21 Git Commands for Software Engineers

    A comprehensive guide covering 21 essential Git commands, from basic operations like init, add, and commit to advanced techniques like bisect, rebase, and cherry-pick. Each command includes practical explanations, common mistakes developers make, and why the command matters for version control workflows. The guide covers concepts like working directory, staging area, and repository management, with specific focus on avoiding pitfalls like losing uncommitted changes, creating merge conflicts, and misusing history-rewriting commands.

  12. 12
    Article
    Avatar of ghblogGitHub Blog·27w

    Highlights from Git 2.52

    Git 2.52 introduces several performance improvements and new features. The release adds git last-modified for efficient tree-level blame operations (5x faster than previous methods), a new geometric maintenance strategy for large repositories, and experimental git repo command for repository information. Notable additions include git refs list and git refs exists subcommands, optional Rust support for internal functionality, enhanced Bloom filter support for pathspec queries, and git sparse-checkout clean for recovery scenarios. The release also prepares for Git 3.0 changes, including SHA-256 as default hash algorithm and 'main' as default branch name.

  13. 13
    Article
    Avatar of thedevcraftThe Dev Craft·46w

    Advanced Git commands

    A collection of advanced Git commands that developers may not be familiar with, focusing on lesser-known functionality that can enhance version control workflows and repository management.

  14. 14
    Article
    Avatar of thegithubersThe Githubers·1y

    Master Git & GitHub in Just 7 Days: A Step-by-Step Roadmap

    A structured roadmap focused on fast-paced learning and essential Git and GitHub concepts, supplemented with practical tasks for hands-on experience.

  15. 15
    Article
    Avatar of phoronixPhoronix·32w

    Git Developers Talk About Potentially Releasing Git 3.0 By The End Of Next Year

    Git developers are discussing plans to potentially release Git 3.0 by the end of next year. Recent conversations among the development team have centered around the timeline and scope for this major version release of the widely-used version control system.

  16. 16
    Article
    Avatar of rubylaRUBYLAND·1y

    Git Rebase Squash

    Squashing commits with Git can degrade the readability and searchability of your history, making tools like git bisect and git revert difficult to use. However, if commits are kept atomic, git rebase fixup becomes a superior and faster option. This post provides detailed instructions on how to squash commits properly, either via interactive rebase or using git commit --squash, ensuring a clean git history without losing valuable information.

  17. 17
    Video
    Avatar of youtubeYouTube·22w

    linus messed up the linux git history (so now there's a new git option)

    Git repositories can have multiple root commits, which can cause problems with history traversal, file tracking, and bisection. This became a notable issue when Linus Torvalds accidentally merged an unrelated GitHub-generated README into the Linux kernel, creating a second root commit. The incident led to Git introducing the `--allow-unrelated-histories` flag, which now prevents accidental merges of unrelated histories by default. You can find root commits using `git log --max-parents=0` and should be cautious when merging pull requests that might introduce new roots.

  18. 18
    Article
    Avatar of rubylaRUBYLAND·1y

    How I use git add --patch for reviewing my work

    Git add --patch allows interactive review and selective staging of changes, helping maintain atomic commits. The feature offers various staging strategies, providing control over the granularity of changes added to the staging area. This versatility is useful for maintaining workflow and organizing commits meaningfully.

  19. 19
    Video
    Avatar of t3dotggTheo - t3․gg·38w

    Git is holding us back

    Git has fundamental limitations that become more apparent with AI-assisted development. The article argues that Git's commit-based workflow, designed for email-based collaboration, doesn't suit modern needs where developers work with AI agents and need finer-grained version control. Zed IDE is developing Delta DB, an operation-based version control system that tracks every edit and maintains context between commits, aiming to create a more collaborative workspace for humans and AI agents working together.

  20. 20
    Article
    Avatar of github_updatesGitHub Changelog·34w

    One-click merge conflict resolution now in the web interface

    GitHub now allows developers to resolve merge conflicts directly in the web interface with one-click buttons. When a pull request has conflicts, users can choose to accept incoming changes, current changes, or both without leaving their browser. This feature brings the convenience of code editor merge tools like those in Visual Studio Code to the GitHub web workflow, eliminating the need to switch contexts or use local development environments.

  21. 21
    Article
    Avatar of opensoulsOpenSouls·46w

    Walkthrough of Git commands

    A GitHub repository containing a walkthrough of Git commands, focusing on advanced Git usage. The repository serves as a reference guide for developers looking to improve their version control skills and learn more sophisticated Git techniques beyond basic commands.

  22. 22
    Article
    Avatar of communityCommunity Picks·1y

    Why You Should Keep All Your Linux Dotfiles on GitHub

    Managing dotfiles with git can save time, provide a robust backup option, and ensure a consistent setup across multiple machines. Using GitHub to host dotfiles allows for easy sharing and collaboration. By setting up a bare repository and configuring aliases, you can seamlessly version control and share your dotfiles. This approach simplifies transferring your configurations to new systems and maintains a complete history of changes.

  23. 23
    Article
    Avatar of lobstersLobsters·49w

    Radicle Desktop

    Radicle Desktop is a desktop application for local-first code collaboration on a peer-to-peer network. It features notifications, patch-based code reviews, rich text support with Markdown and embeds, issue management, and offline functionality that syncs when back online. The app aims to provide familiar workflows for code collaboration without relying on centralized platforms.

  24. 24
    Article
    Avatar of collectionsCollections·51w

    Issues in Git Commit Lead to Suspended Linux Kernel Maintainer Account

    Linus Torvalds suspended a Linux kernel maintainer's account after discovering over 6,000 falsified commits impersonating his authorship during the Linux 6.16 merge window. The maintainer attributed the issue to SSD failure and corrupted Git data recovery, but Torvalds deemed the scale too severe for hardware failure alone. The incident highlights the critical need for trust and verification processes in open source development.

  25. 25
    Article
    Avatar of cassidooCassidy's blog·1y

    Re-ordering Git commits

    Learn how to reorder Git commits using git rebase. This guide covers starting an interactive rebase, editing the commit order, resolving conflicts, and canceling or pushing changes. Includes basic Vim commands for editing the commit order in the terminal.