如何在Git 2.23中禁用“ git checkout”?

时间:2019-08-28 22:54:31

标签: git

现在Git 2.23已支持 html { /*background: url('https://i.redd.it/8qxg1uomq2f31.jpg') center center fixed;*/ background: url('https://i.redd.it/xcork1aobaa31.jpg') center center fixed; background-size: 100vw; } .demo-card-wide { margin-top: 50px; margin-bottom: 50px; } .demo-card-wide.mdl-card { width: 30vw; } .demo-card-wide>.mdl-card__title { color: #fff; height: 150px; /*background: url('https://i.redd.it/xcork1aobaa31.jpg') no-repeat center center fixed;*/ background: url('https://i.redd.it/7zebjsi4m8a31.jpg') fixed; background-size: 100vw; } .demo-card-wide>.mdl-card__menu { color: #fff; } .demo-layout-transparent {} .demo-layout-transparent .mdl-layout__header, .demo-layout-transparent .mdl-layout__drawer-button { /* This background is dark, so we set text to white. Use 87% black instead if your background is light. */ color: white; } .cards { position: absolute; top: 75px; left: 35vw; } #fcard { position: relative; top: 50px; } .material-icons { font-size: 50px; } .mdl-layout-title { font-size: 60px; } .mdl-layout__obfuscator.is-visible { background-color: rgba(0, 0, 0, 0) } .mdl-layout__drawer { transition-duration: .1s; } .mdl-card__title-text { font-size: 40px; text-shadow: 2px 2px #000000; } git switch,我想通过阻止git restore起作用来重新训练我的肌肉记忆。如何使git checkout输出错误消息并以非零状态退出?

1 个答案:

答案 0 :(得分:5)

没有一种方法可以完全满足您的要求。

Git不允许您使用别名覆盖内置子命令,这是有充分理由的。您正在使用的其他工具可能会使用git checkout,并且允许您用其他方法覆盖它会破坏所有工具。

但是,您可以在外壳程序配置中覆盖git命令,以便在子命令为checkout时失败,例如:

git () {
    if [ "$1" = "checkout" ]
    then
        echo "Don't use checkout; use switch or restore." >&2
        return 1
    else
        command git "$@"
    fi
}

只要仅为交互式外壳程序而不是非交互式外壳程序(例如脚本)加载此文件,这应该起作用并且不会对任何事物产生负面影响。由于您尚未指定要使用的是哪个,因此在您选择的shell中如何执行此操作留作练习。

另外,请注意手册页中的警告,git switchgit restore是实验性的,可能会更改。