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

Published by Addison-Wesley Professional (June 17, 2022) © 2022

  • Michael Hartl
Products list
  • Available for purchase from all major ebook resellers, including InformIT.com
Products list

Details

  • A print text
  • Free shipping
  • Also available for purchase as an ebook from all major ebook resellers, including InformIT.com

This product is expected to ship within 3-6 business days for US and 5-10 business days for Canadian customers.

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 you'll 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.
Preface xiii
About the Author xix

Part I: Command Line 1

Chapter 1: Basics 3
1.1 Introduction 5
1.2 Running a Terminal 6
1.3 Our First Command 10
1.4 Man Pages 15
1.5 Editing the Line 20
1.6 Cleaning Up 23
1.7 Summary 24

Chapter 2: Manipulating Files 25
2.1 Redirecting and Appending 26
2.2 Listing 30
2.3 Renaming, Copying, Deleting 35
2.4 Summary 40

Chapter 3: Inspecting Files 43
3.1 Downloading a File 43
3.2 Making Heads and Tails of It 46
3.3 Less Is More 49
3.4 Grepping 52
3.5 Summary 58

Chapter 4: Directories 61
4.1 Directory Structure 61
4.2 Making Directories 64
4.3 Navigating Directories 66
4.4 Renaming, Copying, and Deleting Directories 70
4.5 Summary 74
4.6 Conclusion 75

Part II: Text Editor 77

Chapter 5: Introduction to Text Editors 79
5.1 Minimum Viable Vim 84
5.2 Starting Vim 85
5.3 Editing Small Files 89
5.4 Saving and Quitting Files 91
5.5 Deleting Content 96
5.6 Editing Large Files 97
5.7 Summary 101

Chapter 6: Modern Text Editors 103
6.1 Choosing a Text Editor 104
6.2 Opening 106
6.3 Moving 117
6.4 Selecting Text 119
6.5 Cut, Copy, Paste 127
6.6 Deleting and Undoing 132
6.7 Saving 135
6.8 Finding and Replacing 138
6.9 Summary 143

Chapter 7: Advanced Text Editing 145
7.1 Autocomplete and Tab Triggers 145
7.2 Writing Source Code 152
7.3 Writing an Executable Script 166
7.4 Editing Projects 175
7.5 Customization 188
7.6 Summary 191
7.7 Conclusion 193

Part III: Git 195

Chapter 8: Getting Started with Git 197
8.1 Installation and Setup 200
8.2 Initializing the Repo 203
8.3 Our First Commit 204
8.4 Viewing the Diff 208
8.5 Adding an HTML Tag 210
8.6 Adding HTML Structure 216
8.7 Summary 220

Chapter 9: Backing Up and Sharing 221
9.1 Signing Up for GitHub 221
9.2 Remote Repo 222
9.3 Adding a README 227
9.4 Summary 234

Chapter 10: Intermediate Workflow 235
10.1 Commit, Push, Repeat 235
10.2 Ignoring Files 241
10.3 Branching and Merging 243
10.4 Recovering from Errors 252
10.5 Summary 258

Chapter 11: Collaborating 259
11.1 Clone, Push, Pull 260
11.2 Pulling and Merge Conflicts 269
11.3 Pushing Branches 283
11.4 A Surprise Bonus 292
11.5 Summary 295
11.6 Advanced Setup 296
11.7 Conclusion 302

Appendix: Development Environment 305
A.1 Dev Environment Options 306
A.2 Cloud IDE 307
A.3 Native OS Setup 312
A.4 Conclusion 322

Index 323

Need help? Get in touch