在Eclipse中使用“Push to upstream ...”时,新的“本地”提交被推送到远程存储库,远程分支ref在本地存储库中更新(所以master
和{{1}引用相同的提交)。
当使用“Push ...”并在向导窗口(origin/master
)中在master上添加push ref时,新的“本地”提交被推送到远程存储库(如前所述),但是远程分支引用未在本地存储库中更新(因此refs/heads/*
引用上次提交但master
未移动)。
这两种工作方式有什么区别?它对特定的分散工作流程有用吗? 这两种方法的相应git命令是什么?
答案 0 :(得分:16)
推送到上游..按照您对远程跟踪分支的期望推送您的分支。
Push ...打开一个对话框,让你指定你应该推高哪些refspec,包括标签,HEAD等特殊情况:refs / heads / master等。
它不更新origin / master似乎对我来说是一个bug,或者他们正在等待下一次更新来源更新。我在https://bugs.eclipse.org/bugs/enter_bug.cgi?product=EGit&component=UI
打开了一个错误PW
答案 1 :(得分:4)
正如Paul所说,我在EGit的Bugzilla上开了bug并在那里得到了解释。
当使用“Push ...”时,EGit PushWizard使用存储库URI调用JGit的命令,而不是它们的名称。这就是JGit无法更新远程跟踪分支的原因。
该错误仍然是开放的,所以我们可能希望在将来的版本中,从“已配置的远程存储库”完成的“推送...”将更新远程跟踪分支。
答案 2 :(得分:0)
Push ...打开一个对话框,让你指定你应该推高哪些refspec,包括标签,HEAD等特殊情况:refs / heads / master等。
Git Repositories
或Package Explorer
视图可提供带推送的额外设置,但您必须选择正确的选项。
从Git Repositories
视图:
Push
Next
或强>
Remotes
文件夹。origin
Configure Push...
Advanced
按钮(您也可以展开origin
,然后右键点按Push
,然后转到Configure Push...
,然后按Advanced
按钮
从Package Explorer
视图
Team
- > Remote
- > Push
- > Next
(相当于按上述步骤中的“高级”按钮。)或强>
Team
- > Remote
- > Configure Push to Upstream...