SourceTree/git解決pre-commit hook failed的問題


一、 git commit -m 'xxx' 出現問題

今天在上傳項目的時候在commit階段遇到一個問題,無論是在Sourcetree上傳還是用命令git commit -m 'xxx'都報了一下錯誤:

husky > npm run -s precommit (node v8.12.0)
husky > pre-commit hook failed (add --no-verify to bypass)

后面查了很多方法都沒有很好解決。但是大概能總結問題:

pre-commit鈎子惹的禍

當你在終端輸入git commit -m "xxx",提交代碼的時候,
pre-commit(客戶端)鈎子,它會在Git鍵入提交信息前運行做代碼風格檢查。
如果代碼不符合相應規則,則報錯。

雖然會提示add --no-verify,但是我輸入git commit -m 'xxx' --no-verify繞過驗證,強制提交。 好像還是沒有上傳成功.如果你也一樣

請看下面

二、'弱雞'的解決方案

為了省點事,我並沒有花功夫去查找代碼哪里不符合規范.我是暴力地把pre-commit鈎子給刪除了!

具體步驟:

  1. 進入項目的.git文件夾(文件夾默認隱藏,可先設置顯示或者命令ls查找)
  2. 再進入hooks文件夾
  3. 刪除pre-commit文件

重新git commit -m 'xxx' git push即可。SourceTree也可以正常推送

總結一句話: 刪除.git的提交規則文件: rm -rf ./git/hooks/pre-commit

最后忠告一句: 這是不得已的辦法。如果是日常開發,還是乖乖地寫好代碼的規范,現在代碼一般都會進行ESLint校驗,如果覺得麻煩,可以裝一個Prettier插件,幫你格式化代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM