5 ms·
> cd -: The classic channel-flipper. Perfect for toggling back and forth. And not only cd. Gotta love 'git checkout -'
by talkin 6mo ago
> cd -: The classic channel-flipper. Perfect for toggling back and forth.
And not only cd. Gotta love 'git checkout -'
- piekvorst 6mo agoThe '-' shortcut is weird. In 'git commit -F -', the '-' is actually /dev/stdin.
- deleted 6mo ago[deleted]
- account42 6mo ago- is a pretty standard idiom for using stdin/stdout instead of a named file that you can find in many commands. I don't think it conflicts with the cd/checkout usage though as there the argument normally does not refer to a file so having - mean stdin/stdout doesn't make sense.
- mpyne 6mo ago`-` is the traditional shell way to refer to stdin/stdout (as with your git commit example) but also the traditional way to refer to the last directory you were in (as with git checkout/switch). You would never pipe the output of a command to `cd` so the `-` shortcut couldn't be helpful to cd as-is. So rather than invent yet another shortcut to memorize for `cd` they reused the existing one which otherwise would be redundant, which I appreciate at least. But git is simply being consistent with the shell to further reduce the cognitive complexity of reusing shell commands you're used to in analogous git contexts.