我承认有时候我不应该使用git commit -a
。它的反应时间大概是一半,我经常在认为我在单独的仓库中工作 - 但我实际上在一个更大的项目中工作,这将会影响到目录和目录。如何阻止我使用'git commit -a'?
是否有.git/config
设置我可以指定这将导致-a
标志引发错误?
我承认有时候我不应该使用git commit -a
。它的反应时间大概是一半,我经常在认为我在单独的仓库中工作 - 但我实际上在一个更大的项目中工作,这将会影响到目录和目录。如何阻止我使用'git commit -a'?
是否有.git/config
设置我可以指定这将导致-a
标志引发错误?
是否有.git/config设置我可以指定这会导致-a标志引发错误?
不是我所知道的。
你需要一个git包装器来检查参数(“commit
”,“-a
”,...),并且在特定的命令“commit -a”会引发错误。
Jubobs'script(在comment above中提到)是这种包装的一个很好的例子。
不,git配置中没有任何内容会执行此操作。但是,有一个解决方案,它是git挂钩。
Git钩子是在执行git命令之前或之后执行的脚本 - 例如,如果没有提交消息,就会有一个钩子失败。所以你可以为你的需求编写一个钩子钩子,这个钩子在提交的时候会马虎。但是,我个人并不会让它失败,而是显示一个额外的提示(例如“你确定吗?是/否”)。想想看,你真的想永远阻止功能吗?
更多信息: http://git-scm.com/book/en/Customizing-Git-Git-Hooks
祝您好运!
你如何获得钩子中的git命令和选项? – 2014-10-08 09:06:15
如果我有一个简单的方法来检测“马虎”的提交,但是如果我能以另一种更简单的方式做到这一点,那么把这么多的逻辑看起来很浪费,这将会起作用。但感谢这个想法,这是一个好主意! – 2014-10-09 03:21:57
感谢VonC,我设计了一个简单的功能我停留在我的RC文件:
git() {
if [[ ($1 == "add") || ($1 == "stage") || ($1 == "commit") ]]; then
if [[ [email protected] == *-a* ]]; then
echo "Don't use 'git $1 -a'.";
else
command git "[email protected]";
fi
else
command git "[email protected]";
fi;
}
优秀。这看起来很好。 +1 – VonC 2014-10-09 05:36:47
没有,我能看到。你可以破解commit.c是关于它的。 – 2014-10-08 06:11:53
相关:http://stackoverflow.com/questions/25884007/disable-git-add-command/25886149#25886149 – Jubobs 2014-10-08 06:44:08
有人能指出我的方向,说明为什么 - 一个坏的东西? – 2014-10-08 09:19:27