Say that you want to delete a branch both locally and remotely, the commands for that are:
git branch -d branch-name git push --delete remote-name branch-name
But why do all that typing? It would be nice to be able to say to the second command: "use the parameter from the previous one".
Well, Bash got you covered 😎. The
$_ symbol (variable?) is substituted by the shell with the parameter from the last command.
We can then write:
git branch -d branch-name git push --delete remote-name $_
You might not be impressed by that in this scenario, but think how you could leverage this in a script or in combo with
Another useful trick when it comes to reusing the last parameter is
!$. When hitting enter on a command with
!$ the shell will not execute it, but prompt the command again, with the last parameter used in place of
$ ls ~/Desktop $ ls -a !$ $ ls -a ~/Desktop
The simplest way to understand the difference between the two is to try them.
Leave the codebase better than you found it.