Best of Git2025

  1. 1
    Article
    Avatar of communityCommunity Picks·1y

    Terminal Apps

    Discover soft-serve, a powerful self-hostable Git server for the command line, explore cloudlens, a k9s-like CLI tool for managing AWS and GCP, and learn about Terminal Shop, a unique way to order ethically sourced coffee directly from your terminal.

  2. 2
    Article
    Avatar of ubqa4zl8noglmlpvdnr79Prince Kumar·19w

    Git trauma in real life

  3. 3
    Article
    Avatar of devtoolsDev Tools·47w

    Froggit - Git TUI

    Froggit is a new Git TUI (Terminal User Interface) tool in development that aims to simplify Git usage through a visual interface in the terminal. The project focuses on making Git more accessible for both beginners and advanced users by providing an intuitive alternative to complex command-line operations, with goals of being simple, fast, and workflow-enhancing.

  4. 4
    Article
    Avatar of hnHacker News·26w

    The (lazy) Git UI You Didn't Know You Need

    Lazygit is a terminal-based Git UI that enhances productivity through consistency, discoverability, and interactivity. The tool maintains Git CLI terminology while providing visual guidance for operations like interactive rebasing, cherry-picking, and commit patching. Its vim-style keybindings enable quick workflows (e.g., amending and force-pushing in 5 keystrokes), while interactive prompts prevent mistakes and teach better Git patterns. The TUI approach delivers speed and portability without overwhelming users, making complex operations like splitting commits or selective line resets significantly simpler than traditional CLI or GUI alternatives.

  5. 5
    Article
    Avatar of thoughbotthoughbot·24w

    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.

  6. 6
    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.

  7. 7
    Video
    Avatar of codeheadCodeHead·21w

    The Framework To Becoming A Good Programmer

    Becoming a good programmer requires a systematic framework: understand problems thoroughly before coding, design solutions through decomposition, write readable code with clear naming and small functions, debug methodically using hypothesis testing, build progressively complex projects, use version control meaningfully, read production code regularly, and seek feedback aggressively. This disciplined approach builds judgment and accelerates learning more effectively than memorizing syntax or switching languages.

  8. 8
    Article
    Avatar of freecodecampfreeCodeCamp·1y

    Essential CLI/TUI Tools for Developers

    Developers extensively using terminals can enhance their productivity through various CLI/TUI tools. This selection includes tools for Kubernetes management, container monitoring, text processing, Git handling, and more. Each tool is presented with an overview, key features, and installation instructions for different operating systems.

  9. 9
    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.

  10. 10
    Article
    Avatar of spaceliftSpacelift·1y

    GitLab vs GitHub : Key Differences in 2025

    GitLab and GitHub are leading Git-hosting platforms with distinctive features. GitLab offers a fully integrated DevOps platform including CI/CD, security scanning, and infrastructure management out of the box, making it ideal for enterprises. GitHub, best known for its code hosting and collaboration capabilities, relies on third-party tools for extensive DevOps functionalities but excels in ease of use, community support, and integrations. Both platforms support AI-powered coding assistants, but GitLab's additional security and compliance features provide an edge for large organizations.

  11. 11
    Video
    Avatar of javascriptmasteryJavaScript Mastery·34w

    DevOps Full Course | Build and Deploy a Scalable Production Ready API

    A comprehensive DevOps course covering fundamentals through production deployment. Teaches Git version control, CI/CD pipelines with GitHub Actions, Docker containerization, Kubernetes orchestration, and infrastructure as code. Includes hands-on project building a production-ready API with authentication, database integration, monitoring, and security features using modern tools like PostgreSQL, Neon DB, and Arkjet.

  12. 12
    Video
    Avatar of awesome-codingAwesome·26w

    Life lessons from a coding legend...

    Linus Torvalds' criticism of a Meta engineer's pull request sparked debate about code quality and software development culture. The incident highlights a fundamental principle: code clarity trumps abstraction. Torvalds criticized unnecessary helper functions that add indirection without value, arguing that good code should be explicit and easy to understand. The discussion reveals how industry best practices around abstraction can sometimes conflict with simplicity, and how experienced developers often favor straightforward, readable code over clever abstractions. The incident also contrasts old-school programming culture, built on deep technical knowledge and excellence, with modern development practices.

  13. 13
    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.

  14. 14
    Article
    Avatar of jobsJobs·39w

    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.

  15. 15
    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.

  16. 16
    Article
    Avatar of devtoDEV·28w

    Why Do You Push Code During Work Hours?" - How an Interview Question Led Me to Build a Delayed Commit Feature

    A developer built a delayed commit feature for GoCommit after an interviewer questioned their GitHub commit timestamps during work hours. The tool allows developers to schedule commits outside restricted hours, addressing privacy concerns and work-life boundaries. It intercepts commits during configured work hours, presents alternative timestamps, and uses Git's native date flags to set both author and committer dates. The feature integrates with GoCommit's AI-powered commit message generator and raises questions about whether coding schedules should be public information.

  17. 17
    Video
    Avatar of bigboxswebigboxSWE·29w

    Extremely Underrated Programming Skills

    Shell proficiency, Git workflows, and build systems are foundational skills that significantly improve developer productivity. Mastering shell commands beyond basic navigation, understanding Git operations like rebase, stash, and reflog, and comprehending build systems can save hours of development time. These tools provide speed, control, and reliability in daily development work, making them more valuable than chasing trendy technologies.

  18. 18
    Article
    Avatar of workchroniclesWork Chronicles·43w

    (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.

  19. 19
    Article
    Avatar of uiwf7xowejrt4dhwsv7xiPaul Vasile·31w

    If You Say “Never Do X” in Programming, I Assume You Don’t Know What You’re Talking About

    A critique of absolute programming advice that uses blanket "never do X" statements. The author argues that most programming practices labeled as forbidden actually have legitimate use cases and context matters more than rigid rules. Examples include git force push, committing to main branches, and password management strategies. The piece advocates for understanding the purpose and appropriate context of tools rather than following dogmatic prohibitions.

  20. 20
    Article
    Avatar of freecodecampfreeCodeCamp·20w

    freeCodeCamp's New Relational Databases Certification is Now Live

    freeCodeCamp launched a new Relational Databases certification covering Bash scripting, SQL, and Git. The certification includes interactive lessons, workshops, labs, and quizzes across multiple modules, with five required certification projects. Students must pass a 50-question exam using an open-source exam environment that runs on laptops/desktops. The certification is free and verified, with anti-cheating measures including randomized questions, weekly attempt limits, and manual review. Exams are closed-book and timed, with one attempt per week allowed. The certification replaces portions of the previous Full Stack Developer certification.

  21. 21
    Article
    Avatar of dhhDavid Heinemeier Hansson·24w

    No backup, no cry

    A modern approach to data management that eliminates traditional full-system backups by treating computers as disposable, stateless units. The strategy relies on distributed copies through services like Dropbox and GitHub, combined with full-disk encryption, ensuring all important data exists in multiple locations. This setup allows for quick recovery and system restoration, with configuration automated through ISO setups that can install a fully functional system in minutes.

  22. 22
    Article
    Avatar of devjourneyDeveloper's Journey·22w

    A month ago, I posted my Obsidian setup, and since then, I’ve rebuilt and refined it a lot — here’s the updated system that’s been keeping my coding + learning organized.

    A developer shares their refined Obsidian vault system after a month of iteration, featuring structured folders for projects, clients, education, and logs. The setup includes templates for daily notes, client tracking, and blog posts, with integration into their coding workflow through Git and VSCode. The system consolidates coding, studying, content planning, and progress tracking into a single organized workspace.

  23. 23
    Video
    Avatar of codinggopherThe Coding Gopher·40w

    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.

  24. 24
    Article
    Avatar of mtlynchMichael Lynch·1y

    No Longer My Favorite Git Commit

    Reevaluating a previously admired detailed Git commit message, the author identifies flaws in its verbosity and information organization. They propose a revised version that presents key details upfront and includes clear external references. Emphasizing the value of personal principles in software engineering, the author encourages defining what makes a quality commit message.

  25. 25
    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.