首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git预svn-dcommit钩子

Git预svn-dcommit钩子
EN

Stack Overflow用户
提问于 2013-06-05 09:58:40
回答 2查看 1.1K关注 0票数 2

我使用git-svn开发一个远程SVN存储库,并在本地开发中使用git-flow工作流。

不幸的是,有几次我在特性分支上做了svn dcommit,而我只想使用dcommit母版。

我想要做的是创建一个pre-svn-dcommit钩子来检查我是否在主分支上。不幸的是,git似乎没有这样的钩子。

我确实找到了两种可能的方法/解决方案:

  1. https://github.com/padwan-ragavan/preSVNDcommitHook -我不太习惯于替换git-svn二进制文件。
  2. http://davidsouther.com/2012/04/git-svn-dcommit-hooks/ --另一方面,这看起来有点复杂,不适合我的喜好(和需要)。

有何建议可以做到这一点?

EN

回答 2

Stack Overflow用户

发布于 2013-06-05 11:16:39

您可以创建一个Git别名,在尝试提交非主分支时引发错误:

代码语言:javascript
复制
svndcm = "!f(){ if [[ $(git branch --no-color | sed -n "s/\* \(.*\)/\1/p") == "master" ]]; then git svn dcommit; else echo "Error"; fi }; f"

将上述行包括在[alias]文件的~/.gitconfig部分,然后使用git svndcm来提交更改。根据您的喜好修改别名和错误消息:)

票数 1
EN

Stack Overflow用户

发布于 2013-06-05 11:20:33

正如您注意到的,使用Git没有简单的解决方案。通过使用shell捕捉对git的调用并在调用git本身之前添加其他特性,我实现了类似的功能。

请参阅How can I avoid an accidental dcommit from a local branch,以获得一个应该完成您所追求的任务的脚本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16936924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档