Upcase header logo small 74d881f2938298c588db0b7c93de56caf020a767f5981ad9919f1ab5728e278f

Learn with thoughtbot
Workflow 9115110a754f658c194467054a4cafe442e70127fd861e3e73cfd52967e1cc0f

Learn Workflow

Trails

Workflow

tmux

It's time to take control of your terminal! This course teaches you about tmux's pane and window management, session management, copy-paste, and more. This trail is a no-brainer for those who live in the terminal (and especially Vim users). **No prior tmux knowledge is required.**

?

It's time to take control of your terminal! This course teaches you about tmux's pane and window management, session management, copy-paste, and more. This trail is a no-brainer for those who live in the terminal (and especially Vim users). **No prior tmux knowledge is required.**

Next Up

Part 1: Introduction

Learn about tmux's interface including panes, windows, and sessions and the handful of commands needed to get started.

Unstarted

Part 2: Configuration

Learn about the various ways to configure and extend tmux's behavior including defining custom key-bindings, tweaking the interface, and setting options to match your desired workflow.

Unstarted

Part 3: Navigation

Learn to create, organize, and efficiently navigate between tmux's panes, windows, and sessions as well as how to interact with scroll back and copy & paste.

Unstarted

Part 4: Vim Integration

Integrate Vim and tmux by unifying navigation within and between them, optimizing window layout, and sending commands from Vim to tmux.

Unstarted

Part 5: Advanced Workflow

Learn to efficiently create and destroy panes for one-off tasks, navigate between sessions with fuzzy matching, build prompted key-bindings, never leave tmux, and get a sense of what is possible beyond tmux's default behavior.

Unstarted

Part 6: Learning More

Learn how to make the best use of tmux's man page and help, as well as where to find additional online resources to continue learning your learning.

6 steps remaining
Start trail
Workflow

Mastering Git

Got the basics of Git down? **Master it in just a few hours with this course.** Git Wizardry is closer than you think, and your instructor Chris will help you get there rapidly with this series of 11 videos and extensive notes.

?

Got the basics of Git down? **Master it in just a few hours with this course.** Git Wizardry is closer than you think, and your instructor Chris will help you get there rapidly with this series of 11 videos and extensive notes.

Next Up

Getting to Confident

This step will destroy any lingering anxiety you might have about losing data in Git. You'll learn four key techniques to increase your confidence, including a panic button to hit when things go awry.

Unstarted

Managing History

"Who the heck changed this code, and why?" Git knows the answer—we'll show you how to find it. This step covers the many ways to slice and dice your Git history when you need answers, fast.

Unstarted

Undoing

Made a typo in a commit message? Forgot to do your work in a branch? Not to fear. Chris'll show you how to easily fix up the simple errors that are (sadly) a constant in the life of a professional developer.

Unstarted

Crafting History With Rebase

You refactor your code, why not your Git history? It's time to take control and make that history squeaky clean. If you're tired of ugly merge commits, this step is definitely for you. Chris covers selective staging, cherry picking, and the many ways you can rebase.

Unstarted

Git Object Model

It's time to open the hood, pull back the covers, and participate in other revelation-related metaphors. This step does a deep dive into Git's internal object model. Madness, you say? Once you understand how Git is put together, your relationship with Git will permanently change for the better.

Unstarted

Object Model Operations

This is like part 2 of the previous step. Now that you understand the underlying objects in Git, it's time to connect the various Git commands you already know to what they do to those objects.

Unstarted

Customizing Git

While Git is awesomely powerful, it does have a number of UX rough edges. The good news is that Git is tremendously configurable. This step will teach you how to take a belt sander to the rough bits, and build a Git workflow that's smooth as butter.

Unstarted

GitHub and Remotes

Git really shines when you start to connect it to other things, like GitHub and Heroku. This step dives into useful command-line tools, aliases, and tips for managing these remote interactions.

Unstarted

Vim and Git

Git and Vim: two great tools, even better together. You're probably already writing your commit messages in Vim, but it's time to start diffing, blaming, fixing merge commits, and more. This was the lesson that Chris was born to write.

Unstarted

thoughtbot's Git Flow

You've done a lot of learning, now it's time to put it all together. This step will touch on everything covered so far in the process of developing a small feature on a Rails app. If you've ever wondered how a thoughbot developer uses Git in the real world, this one is for you.

Unstarted

Learning More

You now definitely know enough Git to be a confident, productive developer. But while we've covered a lot, you might someday need specialized knowledge on a narrow Git topic. These are our favorite resources to continue your learning.

11 steps remaining
Start trail

The Weekly Iteration

Ben Orenstein
Chris Toomey

Weekly Iteration

Improving your Workflow, with Chris Toomey

Ben Orenstein and Chris Toomey

In this video, Chris shows off his highly-efficient programming workflow.

Chris Toomey
Derek Prior

Weekly Iteration

Debugging For Fun and Profit

Chris Toomey and Derek Prior

In this week's video Chris is joined by Derek Prior and they run through...

Ben Orenstein
Joe Ferris

Weekly Iteration

Tips For Code Review

Ben Orenstein and Joe Ferris

Ben and Joe review several pull requests against the Learn database, pointing...

Chris Toomey
Josh Steiner

Weekly Iteration

Git Workflow

Chris Toomey and Josh Steiner

In this week's video, Chris is joined by Josh Steiner to discuss the git and...

Chris Toomey
Gabe Berke-Williams

Weekly Iteration

Intro to Dotfiles

Chris Toomey and Gabe Berke-Williams

Intro to Dotfiles In this weeks episode, Chris & Gabe dive into the...

Chris Toomey
Gabe Berke-Williams

Weekly Iteration

APIs, HTTP, & JSON

Chris Toomey and Gabe Berke-Williams

In this week's episode, Chris is joined by Gabe Berke-Williams to discuss...

Chris Toomey
Ben Orenstein

Weekly Iteration

The Story of a Feature: Flashcards

Chris Toomey and Ben Orenstein

On this episode of the Weekly Iteration, Chris and Ben discuss the...

Ben Orenstein
Joe Ferris

Weekly Iteration

Ping-Pong, Paired Programing

Ben Orenstein and Joe Ferris

In this episode, Ben and Joe demonstrate the ping-pong approach to pair...

Ben Orenstein
Joe Ferris

Weekly Iteration

Interactively Debugging Test Failures

Ben Orenstein and Joe Ferris

Learn how to debug confusing test failures using interactive tools like byebug.

Chris Toomey
Derek Prior

Weekly Iteration

Internationalization

Chris Toomey and Derek Prior

Internationalization (i18n) is well supported in Rails.

Chris Toomey
Joe Ferris

Weekly Iteration

Intro to Docker

Chris Toomey and Joe Ferris

On this week's episode, Chris is joined by thoughtbot CTO Joe Ferris...

Ben Orenstein
Joe Ferris

Weekly Iteration

Ship A Feature: Supporting Markdown

Ben Orenstein and Joe Ferris

By popular demand, Ben and Joe return with the "Ship A Feature" series.

Ben Orenstein
Joe Ferris

Weekly Iteration

Contributing To Open Source, Step-By-Step

Ben Orenstein and Joe Ferris

In this episode, Ben and Joe extract a matcher written in a project and...

Ben Orenstein
Joe Ferris

Weekly Iteration

Ship a Feature

Ben Orenstein and Joe Ferris

In this episode, Ben and Joe ship a feature from start all the way into...

Ben Orenstein
Joe Ferris

Weekly Iteration

Show Your Setup: Joe Ferris

Ben Orenstein and Joe Ferris

In this episode, Joe demonstrates his setup for development including: How...

Ben Orenstein
Joe Ferris

Weekly Iteration

Refactor First

Ben Orenstein and Joe Ferris

In this episode, Ben shares a story of how he screwed up but still had some...

Chris Toomey
Harry Schwartz

Weekly Iteration

Let's Build a CLI

Chris Toomey and Harry Schwartz

What are Command Line Utilities To start, when we say "CLI" or "command line...

Chris Toomey
Ben Orenstein

Weekly Iteration

Chrome Dev Tools

Chris Toomey and Ben Orenstein

Opening the DevTools There are a handful of ways to get into the DevTools,...

Chris Toomey

Weekly Iteration

Gitsh

Chris Toomey

Gitsh is an open-source project by thoughtbot.

×