skalt / git-cc Goto Github PK
View Code? Open in Web Editor NEWa git extension to help write conventional commits
License: Other
a git extension to help write conventional commits
License: Other
When I have many scopes, I'd prefer to use fuzzy search rather than strict prefix matching.
Which isn't required by the conventional commits spec
Currently, only the CWD and $HOME are searched!
Not having a good test suite is a perpetual source of shame. To prevent further dishonor:
Often, I find myself doing
git cc -m "feat: ..."
echo "pre-commit hooks rejected my commit"
# make fixes
git commit -m "$(cat ./.git/COMMIT_EDITMSG)"
It would be nice to encode this workflow as git cc --redo
Reproduction:
git cc -m "feat
"
Expected behavior: identical to git cc -m "feat"
Actual behavior: deletion of newline required prior to matching "feat\n" as "feat"
The name git-cc
doesn't tell you what it does. cc
could stand for anything, from email's carbon-copy to cubic centimeters. Worse still, cc
is impractically short for tab-completion. git c<tab>
brings up all the git subcommand which start with c
, with cc
somewhere below the top of the list.
Proposal: rename the binary to git-conventional-commit
, with git-cc
retained as a symlink and/or git-alias. That way, git conv<tab>
will complete to git conventional-commit
without additional configuration, while git cc [...]
will still work normally. Based on my initial experimentation, symlinking git-conventional-commit -> git-cc
breaks git tab-completion in bash/zsh, likely due to the symlink's file-mode being different than just a user-executable file: I got lrwxrwxrwx
To avoid renaming the binary, you could git config --global alias.conventional-commit 'cc'
. However, that's another installation step in a tool that's meant to be maximally convenient.
To my ~1-2 users: Thoughts?
Using up/down to select an item gets reset to the first item when the app re-renders as the cursor blinks.
This code was previously made available under stricteq's standard deal (for reference, here's the archive of stricteq). The operator of stricteq migrated the site to indecc.com and updated the standard deal to https://indiecc.com/deal/4.0.1 (pessimistically, here's an archive of indiecc too).
I'm still interested in participating in their licensing experiment, so the TODOs are:
i.e. -s/--signoff/--no-signoff
which makes dealing with pre-commit git hooks a pain.
I tried to install following the README guide:
repo=skalt/git-cc
branch=master
curl -sL https://raw.githubusercontent.com/$repo/$branch/scripts/install.sh | sh
I got this error:
main: line 77: arch: command not found
When I want to enter a new commit-type or scope, I have to
I'd like to
Can the CLI be pushed to Winget or Scoop package managers for windows officially ?
so one can easily
scoop install git-cc
or
winget install git-cc
For now the only option is to use eget
which doesn't perform global updates
currently, I've got to close the file, focus the terminal, and press a key before the updated scope becomes available.
i.e. conventional-changelog
/ commitlint
config to start with.
I'd like to run
git cc init --yaml
to render the default configuration file to ${repo_root}/.config/commit_convention.yaml
instead of being validated and committing directly.
Like 20 of 'em should do the trick.
Expected behavior:
I tried to create new scopes using the CLI and after typing scope's name and hit enter, scope was not created and no response was given. After looking into the code, I found the reason: $EDITOR is not set and vi is not installed in my system
In addition to up/down
On small terminals (I'm not yet sure what exact column width) each keystroke prints extra lines. This is likely due to how line-wrapping and listening for terminal resizing works in pkg/single_select.
select a commit type:
select a commit type:
select a commit type:
select a commit type:
select a commit type:
type to select
feat adds a new feature
fix fixes a bug
docs changes only the documentation
style changes the style but not the meaning of the code (such as formatting)
> perf improves performance
test adds or corrects tests
build changes the build system or external dependencies
chore changes outside the code, docs, or tests
ci changes to the Continuous Inegration (CI) system
refactor changes the code without changing behavior
revert reverts prior changes
submit: tab/enter; navigate: up/down; cancel: ctrl+c
like pkg/*
should let me use any of the pkg/*
directories' names as scopes.
like sh -c ./scripts/get-scopes.sh
In vanilla git, if you git commit -m "foo" -m "bar"
, this should produce
foo
bar
See https://git-scm.com/docs/git-commit#Documentation/git-commit.txt--mltmsggt
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.