git-svn - git-svn:不在master上时如何防止“dcommit”,“rebase”
问题描述
我正在使用git-svn
.
我的问题是,我永远不想在本地分支机构工作git svn rebase
一段时间甚至更糟。git svn dcommit
我只想在master
分支上执行此操作。
我如何确保git
阻止这些操作?
我试图通过给假人,git config branch.<name>.remote
但这对git svn rebase
and没有帮助git svn dcommit
。
还有其他想法吗?
解决方案
另一个想法是这样的。
function git () {
if [[ "$1" = svn ]] && [[ "$2" =~ dcommit|rebase ]]; then
# allow git-svn dcommit/rebase only on master
if git branch --show-current | grep -q master; then
echo "Master branch check passed" >&2
command git "$@"
else
echo "Disallowed - not on master" >&2
return 1
fi
else
# subcommand filter passthrough
command git "$@"
fi
}
这个阴影/usr/bin/git
与一个bash
名为的函数git
——它所做的只是检测你想要禁止自己使用的命令,并将它们通过(或不通过)传递给真正的可执行文件(command git
)。
推荐阅读
- javascript - 根据数组中的条件删除记录
- swiftui - 正确对齐 VStack 和 HStack
- selenium - 如何将 Selenium IDE (.SIDE) 录音转换为 Robot Framework?
- angular - 如何在angular6中使用材料设计中的rowspan和colspan
- sql-server - 计算SQL中两个日期之间发生了多少个月“一月”
- reactjs - 填写输入但未激活提交
- r - 更改 pheatmap 绘图背景颜色
- javascript - 如何从 Json Data 中获取属性值
- python - 所有幻灯片母版占位符默认为类型 14
- c# - PGP 加密导致程序在多个文件加密后崩溃