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 xargs
.
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 !$
. Example:
$ 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.