" Push ..."之间的区别是什么?和"推到上游......"在Eclipse中

时间:2012-01-06 17:38:09

标签: eclipse git egit

在Eclipse中使用“Push to upstream ...”时,新的“本地”提交被推送到远程存储库,远程分支ref在本地存储库中更新(所以master和{{1}引用相同的提交)。

当使用“Push ...”并在向导窗口(origin/master)中在master上添加push ref时,新的“本地”提交被推送到远程存储库(如前所述),但是远程分支引用未在本地存储库中更新(因此refs/heads/*引用上次提交但master未移动)。

这两种工作方式有什么区别?它对特定的分散工作流程有用吗? 这两种方法的相应git命令是什么?

3 个答案:

答案 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 RepositoriesPackage Explorer视图可提供带推送的额外设置,但您必须选择正确的选项。

Git Repositories视图:

  1. 右键单击仓库的名称。
  2. 选择Push
  3. 点击Next
    1. 展开Remotes文件夹。
    2. 右键点击origin
    3. 选择Configure Push...
    4. 点击Advanced按钮
    5. (您也可以展开origin,然后右键点按Push,然后转到Configure Push...,然后按Advanced按钮

      Package Explorer视图

      1. 右键单击项目文件夹(最顶层的项目)。
      2. Team - > Remote - > Push - > Next(相当于按上述步骤中的“高级”按钮。)
        1. 右键单击项目文件夹(最顶层的项目)。
        2. Team - > Remote - > Configure Push to Upstream...