我正在编写脚本在当前目录的每个子目录中运行git status
之类的东西,因此我可以快速获取有关几个git回购站的信息。但是,我想阻止任何修改回购的命令。我不想立即提交10次回购。我不能只使用git子命令的白名单,因为我可能想运行git branch -a
以查看每个回购中的分支,但不是git branch new-branch-name
在每个回购中创建新分支。有没有办法在只读模式下运行git?
所以有办法运行git,这样它会中止而不是对repo进行任何修改,但在运行只读命令时工作正常吗?
编辑:我想要做的是做一个git-subdirs命令,其工作是这样的:当我输入git subdirs COMMAND ARGS
,我想要做一些像for dir in */; do cd $dir && git COMMAND ARGS && cd ..; done
(只有额外的错误检查)。除非如果git COMMAND ARGS
会以任何方式修改回购协议,我不想这样做,因为我非常不可能对许多不同的回购协议进行相同的更改。
你想防止抓取吗?我可以看到,对于像这样的脚本来说,这是一个非常常见的用例,您可能会认为它并未修改回购,但它确实如此。 – Cascabel 2010-12-16 02:12:05
那么,我仍然可以实现白名单来获取非破坏性修改的获取或推送命令,但是如果基线实现不具备通过单一错字输入命令意外中断10个回购的能力,那将会很不错。 – 2010-12-16 05:33:30
实际上,如果你使用'-f',push可能是破坏性的,所以它就像你的'git branch'例子。 – MatrixFrog 2010-12-16 07:27:31