Yarn likes to keep its documentation online, rather than in `yarn help`
output. For example, `yarn help clean` doesn't tell you anything about
the `clean` subcommand. Instead, it points you towards
https://yarnpkg.com/en/docs/cli/clean
This rule detects when that happens, and suggests opening the URL. One
caveat is the currently only OSX is supported, as Linux uses `xdg-open`
instead of `open`.
If history is cleared (or the shell is new and there is no history),
invoking thefuck results in an error because the alias attempts to execute
the usage string.
The fix is to check if Get-History returns anything before invoking
thefuck.
this allows e/n in addition to j/k (same places on the keyboard on
colemak and qwerty) to be used as arrow keys when selecting a command
from the suggested fixups.
fixes#603
This adds `--force` to `git add` when needed. For example:
$ git add dist/*.js
The following paths are ignored by one of your .gitignore files:
dist/app.js
dist/background.js
dist/options.js
Use -f if you really want to add them.
$ fuck
git add --force dist/app.js dist/background.js dist/options.js [enter/↑/↓/ctrl+c]
$
This adds `--force` to `git tag` when needed. For example:
$ git tag alert
fatal: tag 'alert' already exists
$ fuck
git tag --force alert [enter/↑/↓/ctrl+c]
Updated tag 'alert' (was dec6956)
$
When there are local changes to a file, and a git stash is popped that
contains other changes to that same file, git fails as follows:
$ git stash pop
error: Your local changes to the following files would be overwritten by merge:
src/index.js
Please commit your changes or stash them before you merge.
Aborting
$
This change adds a rule that corrects this problem as suggested [here]:
$ git stash pop
error: Your local changes to the following files would be overwritten by merge:
src/index.js
Please commit your changes or stash them before you merge.
Aborting
$ fuck
git add . && git stash pop && git reset . [enter/↑/↓/ctrl+c]
Auto-merging src/index.js
On branch flow
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: src/index.js
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: src/index.js
Dropped refs/stash@{0} (f94776d484c4278997ac6837a7b138b9b9cdead1)
Unstaged changes after reset:
M src/index.js
$
[here]: https://stackoverflow.com/questions/15126463/how-do-i-merge-local-modifications-with-a-git-stash-without-an-extra-commit/15126489#15126489
This is to help address bad corrections like the following (note the
position of the -p flag):
thefuck 'git log $(git ls-files thefuck | grep python_command) -p'
git log $(git ls-files thefuck | grep -p python_command) [enter/↑/↓/ctrl+c]