Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

git commit時の挙動改善 #125

Closed
tyokinuhata opened this issue Jan 10, 2023 · 5 comments
Closed

git commit時の挙動改善 #125

tyokinuhata opened this issue Jan 10, 2023 · 5 comments
Assignees

Comments

@tyokinuhata
Copy link
Member

@tyokinuhata
Copy link
Member Author

tyokinuhata commented Jan 10, 2023

@tyokinuhata
Copy link
Member Author

streamich/git-cz#106 で実装されたみたいだが

@tyokinuhata
Copy link
Member Author

tyokinuhata commented Jul 12, 2023

調査結果

  • git-czをyarn run等で直接実行した場合、内部ではgit commitコマンドがコールされるため、コミット後にエディタが開くことはない
  • git-czをGitフック(厳密にはprepare-commit-msg)で実行した場合(つまり--hookオプションを付与して実行した場合)、git-czはコミットメッセージをGitフックの一時ファイルに書き込み、Gitがそれを元にコミットメッセージを生成する。そのため、コミット後にエディタが開いてしまう
  • どうやら--no-verifyオプションでエディタを開かないようにもできるようだが、他のGitフックが全て無効化されてしまうらしいため使えない

結論

  • Gitフックでgit-czを実行しつつ、コミットメッセージ確定後にエディタを開かせないという挙動をさせるのは難しそう
  • この件は一旦諦めても良いと思う

@tyokinuhata
Copy link
Member Author

tyokinuhata commented Jul 12, 2023

余談

  • yarn commitからgit commitでgit-czを実行できるように変更したのは、コマンドのインタフェースが変わると、誤ってgit commitでバリデーションされていないコミットメッセージが生成されてしまう可能性があるためだった
  • 現状でも、huskyのセットアップが行われていない場合や、コミットメッセージ確定後にエディタから変更した場合はバイパスできてしまう可能性はある
  • しかし、インタフェースが変わることに比べると幾分か良いと思われる(人為的に実行しない限り、そのようなフローはほぼ発生しないため)

@tyokinuhata
Copy link
Member Author

git commit -m ""というハックもあるらしい

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants