commitizen / commitizen/cz-cli
Config with prepare-commit-msg blocks squashing via interactive rebase
- Vorherrschende Sprache
- JavaScript
- Sterne
- 17.5k
- Forks
- 566
- Ø Merge
- 8 Std. 16 Min.
- Gemergte PRs (30 T.)
- 1
Beschreibung
Hello, first off thanks for making this wonderful library.
I'm currently using husky to enforce commitizen on every commit. It's been working fine, however, there are times when I need to manually squash certain commits. To do this, [I use an interactive rebase (ex: `git rebase -i HEAD~4`)](https://github.com/todotxt/todo.txt-android/wiki/Squash-All-Commits-Related-to-a-Single-Issue-into-a-Single-Commit). Whenever I do this it gets stuck and the rebase has to abort.
I've tried the [following solution](https://gmurphey.github.io/2013/02/02/ignoring-git-hooks-when-rebasing.html#.XV3d2pNKgqs):
```
#!/bin/sh
BRANCH_NAME=$(git branch | grep '*' | sed 's/* //')
if [ $BRANCH_NAME != '(no branch)' ]
then
exec < /dev/tty && git-cz --hook || true
fi
```
However, it doesn't work, I presume, when in the squashing step. It just freezes.
I've also had trouble running `yarn version --no-commit-hooks` and `yarn config set version-commit-hooks false`, which also freezes
Any idea on how to get around this?
Update: for husky v2.4.0 and above, it seems like you can use `HUSKY_SKIP_HOOKS=1 git rebase ...`. I'll go this route for now, however, I'll leave the issue open in case there's a better alternative for those not using husky
Beitragsleitfaden
Rechercherichtung
Reproduziere den Freeze mit `git rebase -i HEAD~4`, dem gezeigten Workaround für den `prepare-commit-msg`-Hook und `yarn version --no-commit-hooks`. Verfolge, wie Commit-Hooks während des interaktiven Rebases und der Versionierung aufgerufen werden, und definiere als erledigt, dass der Freeze vermieden wird, ohne sich auf `HUSKY_SKIP_HOOKS=1` zu stützen, während die normale commitizen-Erzwingung erhalten bleibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- git, javascript
- Bereich
- cli, devtools
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 32/100