Learn Enough Developer Tools to Be Dangerous: Command Line, Text Editor, and Git Version Control Essentials

Book description

All You Need to Know, and Nothing You Don’t, About Core Tools for Software Development

Three of the core tools needed for modern software development are the Unix command line, a text editor, and version control with Git. But you don’t need to learn "everything" about them, just how to use them efficiently to solve real problems. In Learn Enough Developer Tools to Be Dangerous, renowned instructor Michael Hartl teaches the specific concepts, skills, and approaches you need so you can learn to write apps, get hired, collaborate, and maybe even launch your own company.

Even if you’ve never used (or even heard of) these tools before, Hartl helps you quickly build technical sophistication and master the lore you need to succeed. Focused exercises help you internalize what matters, without wasting time on details pros don’t care about. Soon, it’ll be like you were born knowing this stuff-and youll be suddenly, seriously dangerous.

Learn enough about . . .

  • Running a terminal, entering and editing commands, and using man pages

  • Manipulating and inspecting files: from basic copying to finding patterns

  • Organizing files with directories

  • Learning Minimum Viable Vim

  • Basic and advanced editing techniques with editors like Atom and VS Code

  • Using the human-readable Markdown language for writing quick documentation

  • Formatting source code and writing executable scripts

  • Getting started with Git and GitHub

  • Using key Git workflows: commit, push, branch, merge, and more

  • Collaborating on Git projects and resolving code conflicts

  • Setting up dev environments: macOS, Linux, Windows, and cloud

Michael Hartl’s Learn Enough series includes books and video courses that focus on the most important parts of each subject, so you don’t have to learn everything to get started-you just have to learn enough to be dangerous and solve technical problems yourself.

Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.

Table of contents

  1. Cover Page
  2. Halftitle Page
  3. Title Page
  4. Copyright Page
  5. Contents
  6. Preface
  7. About the Author
  8. Part I: Command Line
    1. Chapter 1. Basics
      1. 1.1 Introduction
      2. 1.2 Running a Terminal
      3. 1.3 Our First Command
      4. 1.4 Man Pages
      5. 1.5 Editing the Line
      6. 1.6 Cleaning Up
      7. 1.7 Summary
    2. Chapter 2. Manipulating Files
      1. 2.1 Redirecting and Appending
      2. 2.2 Listing
      3. 2.3 Renaming, Copying, Deleting
      4. 2.4 Summary
    3. Chapter 3. Inspecting Files
      1. 3.1 Downloading a File
      2. 3.2 Making Heads and Tails of It
      3. 3.3 Less Is More
      4. 3.4 Grepping
      5. 3.5 Summary
    4. Chapter 4. Directories
      1. 4.1 Directory Structure
      2. 4.2 Making Directories
      3. 4.3 Navigating Directories
      4. 4.4 Renaming, Copying, and Deleting Directories
      5. 4.5 Summary
      6. 4.6 Conclusion
  9. Part II: Text Editor
    1. Chapter 5. Introduction to Text Editors
      1. 5.1 Minimum Viable Vim
      2. 5.2 Starting Vim
      3. 5.3 Editing Small Files
      4. 5.4 Saving and Quitting Files
      5. 5.5 Deleting Content
      6. 5.6 Editing Large Files
      7. 5.7 Summary
    2. Chapter 6. Modern Text Editors
      1. 6.1 Choosing a Text Editor
      2. 6.2 Opening
      3. 6.3 Moving
      4. 6.4 Selecting Text
      5. 6.5 Cut, Copy, Paste
      6. 6.6 Deleting and Undoing
      7. 6.7 Saving
      8. 6.8 Finding and Replacing
      9. 6.9 Summary
    3. Chapter 7. Advanced Text Editing
      1. 7.1 Autocomplete and Tab Triggers
      2. 7.2 Writing Source Code
      3. 7.3 Writing an Executable Script
      4. 7.4 Editing Projects
      5. 7.5 Customization
      6. 7.6 Summary
      7. 7.7 Conclusion
  10. Part III: Git
    1. Chapter 8. Getting Started
      1. 8.1 Installation and Setup
      2. 8.2 Initializing the Repo
      3. 8.3 Our First Commit
      4. 8.4 Viewing the Diff
      5. 8.5 Adding an HTML Tag
      6. 8.6 Adding HTML Structure
      7. 8.7 Summary
    2. Chapter 9. Backing Up and Sharing
      1. 9.1 Signing Up for GitHub
      2. 9.2 Remote Repo
      3. 9.3 Adding a README
      4. 9.4 Summary
    3. Chapter 10. Intermediate Workflow
      1. 10.1 Commit, Push, Repeat
      2. 10.2 Ignoring Files
      3. 10.3 Branching and Merging
      4. 10.4 Recovering from Errors
      5. 10.5 Summary
    4. Chapter 11. Collaborating
      1. 11.1 Clone, Push, Pull
      2. 11.2 Pulling and Merge Conflicts
      3. 11.3 Pushing Branches
      4. 11.4 A Surprise Bonus
      5. 11.5 Summary
      6. 11.6 Advanced Setup
      7. 11.7 Conclusion
    5. Appendix: Development Environment
      1. A.1 Dev Environment Options
      2. A.2 Cloud IDE
      3. A.3 Native OS Setup
      4. A.4 Conclusion
  11. Index
  12. Code Snippets

Product information

  • Title: Learn Enough Developer Tools to Be Dangerous: Command Line, Text Editor, and Git Version Control Essentials
  • Author(s): Michael Hartl
  • Release date: May 2022
  • Publisher(s): Addison-Wesley Professional
  • ISBN: 9780137843404