我可以禁用git存储吗?

时间:2018-04-11 06:42:53

标签: git git-stash

我宁愿做临时提交而不是使用git stash。更重要的是,我更喜欢那些对git经验较少的同事避免藏匿。

有没有办法禁用git stash,以便与它交互的命令以错误终止?

编辑:感谢您的答案,建议我可以做什么,但我真正想要的是一个“是”或“否”的答案,如果可能的话,有一些理由,对于字面问题。

2 个答案:

答案 0 :(得分:2)

将其替换为脚本:

cd /usr/lib/git-core
mv git-stash git-stash.backup
echo "#!/bin/sh
echo git stash is disabled, please commit your changes" > git-stash
chmod a+rx git-stash

答案 1 :(得分:1)

我曾经回答了类似的question

在您的情况下,该功能可能是:

function git () {
    if [ "$1" = "stash" ];then
        echo '"git stash" is disabled, try "git commit" instead'
        exit 1
    else
        command git $@
    fi
}

但是这个功能根本不健全。它可以阻止以git stash开头的命令,但您可以使用git '' stashgit --git-dir=foo.git stash等命令轻松绕过命令。如何测试命令是否基本上是git stash是另一个问题。此外,该功能不会影响其他工具中的Git插件。而且我认为这个解决方案没有给出好的方向。理想情况下,Git应该有一个开关来启用/禁用它的一些子命令,但我担心这是另一个大问题。

如果我做对了,问题是你希望经验不足的同事避免git stash,以免他们减轻麻烦。这是不公平的。如果您作为经验丰富的Git用户负责培训他们如何正确使用git stash及其子命令,那将是很好的。向他们展示git命令的力量和美感。毕竟,git stash并不难理解。他们是程序员。他们可以学习。

相信我,对于对Git内部知之甚少的经验较少的Git用户而言,将git stash替换为git commit将是一场灾难。他们肯定会推动不必要的提交,并在很多问题上困扰着你。

相关问题