0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

husky使用時にgit pushするとerror: failed to push some refs to ~

Last updated at Posted at 2020-01-11

(追記)
下記の問題はhusky v4.0.7で修正された様子。


Node.jsで開発中のリポジトリで、気付いたらgit pushができなくなっていた。

$ git push origin master
stdin is not a tty
error: failed to push some refs to 'https://github.com/xxxxx/xxxxx.git'

gitのバージョンは以下の通り。

$ git --version
git version 2.24.1.windows.2
  • エラーが起きたrepoでcommitpull→できる
  • エラーが起きたrepoをgithubの新規リモートrepoにpush→できない
  • エラーが起きたrepoをbitbucketの新規リモートrepoにpush→できない
  • 空のrepoを新規作成してgithubの新規リモートrepoにpush→できる
  • 空のrepoを新規作成し、エラーが起きたrepoの.gitフォルダ以外をすべてコピーしてpush→できる

以上の現象から.gitフォルダ内の破損かと思ったが、エラーになるのがpushだけというのが気になる。また、エラーメッセージもなんかスクリプトっぽい。そういえば、プロジェクトにhuskyを追加していたことを思い出す。

package.json(抜粋)
"husky": "^4.0.6"

.git/hooksを確認し、huskyによって追加されたpre-pushスクリプトをpre-push.bakにリネームして無効化してみると、pushできるようになった。

huskyのreleaseページを確認すると、つい最近に破壊的変更を含むメジャーバージョンアップが行われたらしく、そこから毎日のようにバグ修正版がリリースされている(執筆時点)。まだあまり安定していないのかもしれない。

検索したら同じ問題のissueもすでにあったので、そのうち直ると思われる。
[4.0.0 | Git Bash | Windows 10] stdin is not a tty

自分はpre-pushhookを使っていないし、とりあえず今は無効化しておくことにした。
pre-pushを使いたい場合はhuskyバージョンを3.1.0系に下げればいいらしい

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?