Git and the Command Line
Navigate the terminal and version your work like a pro.
Get comfortable in the terminal and learn the git workflow every development team expects. You will move around the file system, find files and search logs with pipes, commit clean history, branch and merge, resolve a real merge conflict, push to GitHub and open pull requests, and undo mistakes safely. Then you will set environment variables and PATH, write scripts that stop on the first failure, stop processes with the right signal, test an HTTP API with curl, and ship a tagged release from the terminal.
What you will learn
- Terminal
- Pipes and redirection
- Git commits
- Branching and merging
- GitHub pull requests
- Safe undo
- Environment variables
- Shell scripts
- Processes and signals
- curl
Lessons
- 1
The Terminal
Move around the file system, manage files, find them, and search text with pipes and redirection.
15 exercises
- 2
Git Basics
Create a repository, stage and commit changes, read history and diffs, and ignore files that do not belong.
12 exercises
- 3
Branches and Merging
Work on branches, merge them back, resolve a merge conflict, and undo mistakes safely.
12 exercises
- 4
Remotes and GitHub
Clone, push, fetch and pull, open pull requests, review code well, and contribute through a fork.
12 exercises
- 5
A Real Workflow
Run the feature branch workflow end to end, rebase, tag a release, and recover from the mistakes everyone makes.
14 exercises
- 6
Environment, Exit Codes and Scripts
Set environment variables for one command or a session, understand PATH and .env, chain commands on exit codes, and write a script that stops on failure.
15 exercises
- 7
Processes, Signals and Talking to Servers
Find and stop processes, tell SIGTERM from SIGKILL, call an HTTP API with curl and read its status line, keep tokens out of shell history, and set up SSH keys.
15 exercises
- 8
Putting It Together: Ship a Release from the Terminal
Cut release 1.3.0 of the shop API end to end: release branch, a release script that stops on failure, an annotated tag, a smoke test with curl, and a clean stop.
13 exercises
How you practice
You practice in the browser and every exercise gives you feedback right away. This course uses these formats:
- Type the answer: 57
- Multiple choice: 11
- Reorder lines: 10
- Fill in the blank: 10
- Spot the bug: 8
- Match the pairs: 6
- Select all that apply: 6
Aligned to
- Networking and Communication
- NC-ApplicationsNetworked Applications
- Software Engineering
- SE-TeamworkTeamwork
- SE-ToolsTools and Environments
Proto Node Labs is not affiliated with or endorsed by ACM / IEEE-CS / AAAI. Exam names are trademarks of their owners.