Description
Book SynopsisMichael Hartl created the legendary
Ruby on Rails Tutorial that helped jumpstart thousands of web development careers. A cofounder and principal author at Learn Enough, Hartl previously earned a Ph.D. in physics at the California Institute of Technology (Caltech), where he received a Lifetime Achievement Award for Excellence in Teaching. He is also an alumnus of Harvard University and the world-renowned Y Combinator entrepreneur program.
Trade ReviewPraise for Learn Enough Tutorials "Going through
Learn Enough Git is wonderful. I am actually learning. . . I've done three other Git tutorials and still felt so lost. Doing it all now makes so much sense. It's like a light bulb."
--Janelle Staar
"I bought the
Learn Enough Command Line to Be Dangerous last fall, and it's paid off sooooo many times in my new job. During my first week, I had a manager sitting right beside me giving me the 'go here, go there, do this, etc.' Having watched, read, and done the exercises, I was confident in getting around the CLI [command-line interface]--and even had him asking, 'What was that shortcut?' For this, I thank you. Now I need a 'Learn even more CLI to be dangerouser.'"
--Thomas Thackery
"I must say, this Learn Enough series is a masterpiece of education. Thank you for this incredible work!"
--Michael King
"I want to thank you for the amazing job you have done with the tutorials. They are likely the best tutorials I have ever read."
--Pedro Iatzky
Table of ContentsPreface 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