做網(wǎng)站都需要哪些費用四川seo關(guān)鍵詞工具
在git commit的時候,有可能會遇到這樣的報錯,husky - pre-commit hook exited with code 1 (error)
出現(xiàn)這個問題的原因主要是,假如項目中采用 husky和lint-staged結(jié)合進行代碼校驗,那么,只要項目代碼中有不規(guī)范的地方,git commit就會自動終止。
在項目開發(fā)中肯定不可能時時刻刻保證代碼寫的完善,面對這個問題,可以采用兩個方案,跳過git commit檢查。
方案一:--no-verify
git commit --no-verify -m "git commit info"
通過--no-verify命令,忽略掉不合規(guī)范的地方,強制上傳。
這種方法很好,但是有個問題,如果只想上傳部分文件,還要先通過git add和git reset來忽略一部分內(nèi)容,例子如下:
git add . #將所有文件暫存
git reset ./vite.config.ts HEAD #將不需要上傳的文件恢復(fù)
git commit --no-verify -m "git commit info"
方案二:--skip-worktree
因為我一直使用 tortoisegit進行g(shù)it版本管理,不采用命令行的方式,不知道怎么在tortoisegit上輸入--no-verify,所以找到了另一種方法,就是直接刪除.husky目錄,同時刪除package.json中與husky相關(guān)的內(nèi)容,去掉校驗功能。
由于去掉之后會在面板上顯示變動,所以要在刪除文件之前,采用--skip-worktree告訴git忽略這個文件。具體代碼如下。
git update-index --skip-worktree .husky/*#如果該語句不生效,可以替換成.husky/commit.sh這樣的單個文件一一忽略
git update-index --skip-worktree package.json
這樣一來,之后每次使用tortoisegit就可以直接commit了。
不過以上有個問題,假如后續(xù)項目中遠程有人修改了package.json文件,pull時會在本地顯示沖突,要先用--no-skip-worktree恢復(fù)文件,進行修改,再重新執(zhí)行上述操作。
相比較之下,還是--no-verify的方案更方便。