> Markdown version of [/videos/603-ask-your-code?t=0](https://www.wearedevelopers.com/videos/603-ask-your-code?t=0). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Ask Your Code GitHub co-founder Scott Chacon claims your habitual Git workflow is fundamentally broken. Stop relying on flawed blame commands and uncover the true historical context of your codebase. - **Speakers:** [Scott Chacon](https://www.wearedevelopers.com/@scott-chacon) - **Event:** World Congress 2023 - **Published:** August 11, 2023 - **Duration:** 33:17 - **URL:** https://www.wearedevelopers.com/videos/603-ask-your-code ## Summary Scott Chacon, co-founder of GitHub and Git Butler, challenges developers to escape complacency with standard version control tools by applying first principles thinking. By repeatedly asking "why"—much like exploring the physics of why ice is slippery—engineers can look past routine operations to understand the core purpose of version control: backing up work, separating concerns, and collaborating safely. He contrasts Git's rigid, command-line nature with the seamless, conflict-free continuous saving of tools like Google Docs to highlight how habitual our current coding paradigms have become. The narrative then shifts to "code archeology," which involves querying a codebase to gain historical deployment context. Standard workflows typically rely on tools like subway-style commit graphs or basic blame lines, which are easily accessible but heavily flawed. For instance, using a standard blame command often points to the developer who merely refactored a file, rather than the original author. To truly trace code origins, developers must leverage obscure, computationally heavy CLI commands like tracking moved lines across files or using a pickaxe search to see exactly when a specific code string was introduced. Ultimately, the most important context for software development lies within "impossible questions" that standard Git inherently cannot answer. Finding the specific PR that modified a file, referencing the Slack conversations held during its creation, or knowing which external documentation the author read remain entirely disconnected from the source code. By acknowledging these operational frustrations and integrating automated features like AI-assisted commit summaries or CRDT-based background states, future architecture designs can preserve granular history without losing the critical human context surrounding every codebase change. **Keywords:** version control first principles, git tooling limitations, codebase archeology tools, git log pickaxe search, git blame heuristics, tracking refactored code origins, PR context mapping, CRDT continuous saving, AI commit message generation, software collaboration workflows, merging vs rebasing strategies, advanced git CLI commands, preventing merge conflicts ## Chapters 1. **The evolution of version control tools and integrations** (00:00) — Transitioning from early systems like SVN to modern Git clients emphasizes the importance of integrated code management. 1. **Applying first principles to product design and software** (02:34) — Questioning assumptions and asking why repeatedly uncovers the fundamental truths behind everyday technical problems. 1. **Questioning the fundamental mechanics of version control workflows** (09:26) — Examining alternative approaches like Google Docs reveals assumptions hidden in traditional branching version control systems. 1. **Understanding core functions and the archeology of code** (13:17) — Version control operations enable data backups and targeted historical questions about past code decisions. 1. **Common questions and the limitations of Git history** (15:21) — Generic commit logs and abstract visual graphs fail to provide actionable context for developers resolving issues. 1. **Answering uncommon code queries with advanced Git commands** (18:03) — Specialized arguments for logs and pickaxe searches effectively locate unmerged commits and specific strings within repositories. 1. **Tracking moved functions and identifying closely related files** (20:10) — Advanced heuristics and custom scripts reliably detect code refactoring origins and simultaneously modified files across commits. 1. **Identifying missing context and impossible questions in code** (22:55) — Current version control tools still struggle to surface relevant pull requests, chat discussions, and author references. 1. **Evaluating the trade-offs between merge and rebase workflows** (26:04) — Choosing merges preserves historical context while rebasing provides a linear but potentially destructive project timeline. 1. **Generating and refining commit messages using artificial intelligence** (27:44) — Using AI tools allows developers to automatically summarize code diffs and improve project documentation efficiently. 1. **Managing unfinished work and continuous file state backups** (29:29) — Implementing continuous directory recording mitigates the need for manual work-in-progress commits during feature development. 1. **Rethinking version control clients for integrated developer workflows** (30:18) — Developing alternative version control clients resolves local configuration issues and streamlines code management directly within editors. ## Related Moments - [Audience Q&A on future tools and Git commands](https://www.wearedevelopers.com/videos/100288-why-git-still-matters) (from "Why Git Still Matters") - [Uncovering team dynamics through version control data analysis](https://www.wearedevelopers.com/videos/1342-your-code-as-a-crime-scene) (from "Your Code as a Crime Scene") - [Handling review priorities, collaboration, and commit details](https://www.wearedevelopers.com/videos/429-git-for-code-reviews) (from "Git for Code Reviews") - [Introduction to git flow and clean feature branches](https://www.wearedevelopers.com/videos/429-git-for-code-reviews) (from "Git for Code Reviews") - [The impact of Git on modern version control](https://www.wearedevelopers.com/videos/1320-wearedevelopers-live-50-years-microsoft-web-readiness-report-the-german-web-community-and-more) (from "WeAreDevelopers LIVE - 50 years Microsoft, Web Readiness Report, The German Web Community and more") - [Integrating version control and AI into productivity software](https://www.wearedevelopers.com/videos/919-coffee-with-developers-adam-wiggins) (from "Coffee with Developers - Adam Wiggins") ## Related Articles - [Stop Googling Git Commands. Start Actually Learning Git.](https://www.wearedevelopers.com/magazine/730-stop-googling-git-commands-start-actually-learning-git) - [How we Build The Software of Tomorrow](https://www.wearedevelopers.com/magazine/120-how-we-build-the-software-of-tomorrow) - [Liuba Gonta and Yuliya Khadasevic - GitHub Copilot Beyond the Basics - 10 Ways to Elevate Your Coding](https://www.wearedevelopers.com/magazine/490-liuba-gonta-and-yuliya-khadasevic-github-copilot-beyond-the-basics-10-ways-to-elevate-your-coding) - [What is Agentic Programming and Why Should Developers Care?](https://www.wearedevelopers.com/magazine/625-what-is-agentic-programming-and-why-should-developers-care) ## Related Jobs - [Senior Software Engineer](https://www.wearedevelopers.com/jobs/ext/15942-senior-software-engineer) at **GitHub** - [Staff Developer Advocate, GitHub Security Lab](https://www.wearedevelopers.com/jobs/ext/1921051-staff-developer-advocate-github-security-lab) at **GitHub** - [Principal Product Manager, Agent Platform](https://www.wearedevelopers.com/jobs/ext/277541-principal-product-manager-agent-platform) at **GitHub** - [Senior Software Engineer](https://www.wearedevelopers.com/jobs/ext/159190-senior-software-engineer) at **GitHub** - [Tribe Lead - ( Software) Engineering Centre of Excllence](https://www.wearedevelopers.com/jobs/ext/1475530-tribe-lead-software-engineering-centre-of-excllence) at **SD Worx** - [Senior Software Engineer, Enterprise Products](https://www.wearedevelopers.com/jobs/ext/1841248-senior-software-engineer-enterprise-products) at **GitHub**