在 ZendStudio 9 中从 Git 设置一个项目。(基于 eclipse 和 eGit)
它生成一个安静的正常获取引用规范:
Remote Fetch Specification +refs/heads/*:refs/remotes/original/*
但是一个非常神秘的推送参考规范:
Remote Push Specification HEAD:refs/for/refs/heads/master
在远程我可以通过“git ls-remote”看到以下内容:
8db575549dea67a45cea04358f902993c940c4d8 HEAD
16f0939153e6ef12b4596f0d4fb43fa5b8b0246b refs/for/refs/heads/master
8db575549dea67a45cea04358f902993c940c4d8 refs/heads/master
我在本地机器上有“git status”的消息:
On branch master
Your branch is ahead of 'original/master' by 5 commits.
所以,请注意,因为我的问题不是“这意味着什么”......
我的问题是:
- 这个工作流程意味着什么?什么是感觉?
- 服务器“refs/for..”上生成的引用有何用途?
- 在本地分支上工作而不是在服务器上进行引用来推送不是更好吗?
提前致谢。
一,通常的 Gerrit 相关的 refspec 应该是(如评论了 https://stackoverflow.com/questions/13830065/what-does-the-refspec-headrefs-for-refs-heads-master-generated-by-egit-zendstud#comment19035000_13830065 by 杰扎克梅斯特 https://stackoverflow.com/users/683080/jszakmeister in "Gerrit 代码审查 - 上传更改 http://gerrit-documentation.googlecode.com/svn/Documentation/2.5/user-upload.html#push_create")
HEAD:refs/for/branchname
所以,如果有的话,应该是
HEAD:refs/for/master
但就你而言,你不需要那种 refspec (因为你没有 Gerrit)
这是通常的承诺方式吗?
不它不是。
这是一个糟糕的默认值,一文不值吗?
就你而言,是的,它没有用。
这可能是什么的副作用提到:
事实上,Gerrit 是与 EGit 功能集成并一起提供的。目前无法从 Zend Studio 中禁用 Gerrit。
The bug 347077“使 Gerrit 功能可选” https://bugs.eclipse.org/bugs/show_bug.cgi?id=347077仍然开放。
the 奥普特威尼 https://stackoverflow.com/users/1388397/tweini comments https://stackoverflow.com/questions/13830065/what-does-the-refspec-headrefs-for-refs-heads-master-generated-by-egit-zendstud/13834537#comment19105063_13834537:
为了摆脱这个陷阱,我必须意识到,这个引用正在远程创建一个分支没有远程跟踪分支与之相关。
但摆脱它非常简单:
- 更改推送参考规范
.git/config
to push = refs/heads/master:refs/heads/master
,
- 将本地存储库推送到远程
git push
- 删除远程分支
git push --delete origin refs/for/refs/heads/master
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)