[英]Git: checkout without running post-checkout hook
我有一個我喜歡的結賬后掛鈎——大多數時候——但有時我知道運行它會浪費時間,或者,因為它刪除並重建了我的開發數據庫,我不想要它做它的事。
是否有跳過鈎子的 git 選項? 太公平了,我特意找了一個。
我不認為有一個命令行選項可以做你想做的事,但你可以通過使用環境變量作為標志來輕松解決這個問題。 在您post-checkout
腳本中,從以下內容開始:
#!/bin/sh
[ "$SKIP_POST_CHECKOUT" = 1 ] && exit 0
然后當您想跳過post-checkout
腳本時:
SKIP_POST_CHECKOUT=1 git pull
等等。
如果輸入太多,您可以隨時縮短變量名稱:)。
您可以通過強制core.hooksPath
成為不存在的路徑(通過-c
)從命令行執行此操作
例如:
$ cat .git/hooks/post-checkout
#!/usr/bin/env bash
echo 'nope'
exit 1
$ git checkout -- .
nope
$ git -c core.hooksPath=/dev/null checkout -- .
$
我剛剛找到了另一個答案。 只需將-c core.hooksPath=/dev/null
選項添加到您的 git 命令。 這將僅覆蓋一個命令的配置,並禁用所有掛鈎。 對於營地:
git -c core.hooksPath=/dev/null checkout master
git -c core.hooksPath=/dev/null pull
git -c core.hooksPath=/dev/null commit ...
git -c core.hooksPath=/dev/null push
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.