我知道Gerrit收到git提交(也许使用update
钩子),并将它们写在一个虚假的引用上,直到完成同行评审为止,但是这个过程在技术实现方面的确如何工作?什么是Git命令?Gerrit服务器如何拦截提交。寻找技术细节
13
A
回答
2
您可能会引用用户when pushing new commits使用的魔术参考refs/for/<branch ref>
。
要创建审查新的变化,只需按使用任何Git的客户端工具项目的神奇
refs/for/'branch'
裁判:
git push ssh://[email protected]:29418/projectname HEAD:refs/for/branch
例如
john.doe
可以使用git推上传项目kernel/common
的experimental
分支新的变化,在git.example.com
格里特服务器托管:
git push ssh://[email protected]:29418/kernel/common HEAD:refs/for/experimental
每个新提交由混帐推客户端上载将被转换成一个变化记录在服务器上。
远程编号refs/for/experimental
实际上并不是由Gerrit创建的,即使客户端的状态消息可能另有说明。
从技术上讲,这是由cmd-receive-pack管理。
由'git push'调用,并用'git push'端提供的信息更新项目存储库 。
它由gerrit/sshd/commands/Receive.java
实现,其接收使用Git receive-pack protocol改变上传通过SSH。
相关问题
- 1. 电子邮件拦截技术
- 2. 使用AOP技术来拦截ADO.Net
- 3. 寻找调用多个微服务的API网关技术
- 4. 如何为ILogger拦截拦截器
- 5. EJB拦截器和事务生命周期或如何拦截提交/失败事件?
- 6. 向$ http拦截器注入$ http服务?
- 7. Sinon假服务器不拦截请求
- 8. BreezeJS拦截服务器响应
- 9. 拦截器与弹簧REST服务
- 10. nginx代理服务器认证拦截
- 11. WCF数据服务的XACML拦截器
- 12. Ninject拦截WCF服务
- 13. 拦截所有服务
- 14. .Net服务器群集技术
- 15. 对象检测 - 服务器端 - 技术
- 16. 设计和服务器端技术
- 17. web服务器端技术利基
- 18. 嵌入式服务器的Web技术
- 19. 服务器端技术与EXT-JS
- 20. 提琴手拦截http请求我的Weblogic服务器?
- 21. 服务模块的技术细节没有在Eclipse WTP和Tomcat中发布?
- 22. 如何获取在服务器上直接提交/合并的gerrit更改的详细信息
- 23. 拦截器不拦截
- 24. 服务器推送技术(aka。“COMET”,“http服务器推送”,“websockets”)
- 25. 如何使用.Net以外的技术连接并交换2010服务器?
- 26. 使用as3和服务器端技术找到IP地址
- 27. jQuery的拦截表单提交PARAM串
- 28. JQuery的:拦截点击提交按钮
- 29. jQuery Mobile - 拦截paypal表单提交
- 30. jQuery的拦截表单提交
Gerrit系统设计文档可能会让你感兴趣 - https://gerrit-review.googlesource.com/Documentation/dev-design.html - 源代码也可在这里https://gerrit.googlesource.com/格里特/ – Robbie