2012-01-06 22 views
31

Eclipseで "Push to upstream ..."を使用すると、新しい "local"コミットがリモートリポジトリにプッシュされ、リモートブランチrefがローカルリポジトリで更新されます(したがって、masterorigin/masterは同じコミットを参照します)。Eclipseの "Push ..."と "Push to upstream ..."との違い

ウィザードウィンドウ(refs/heads/*)でプッシュリファレンスをマスターに追加すると、新しい「ローカル」コミットが(以前のように)リモートリポジトリにプッシュされますが、リモートブランチrefは更新されません(masterは最後のコミットを参照しますが、origin/masterは移動しませんでした)。

これらの2つの作業方法の違いは何ですか?特定の分散型ワークフローには有効ですか? これら2つのアプローチの対応するgitコマンドは何でしょうか?

+2

良い質問。私は聞いたことがなく、リモート追跡されたブランチがプッシュする際に更新されないユースケースを想像できません。 – Mot

答えて

16

上向きにプッシュすると、リモートトラッキングブランチの場合と同様にブランチがプッシュされます。 /それは起源を更新していないことなど、

をレフリー/ヘッド/マスター:

プッシュ...ダイアログを開き、あなたは、タグを含め、HEADのような特殊なケースを押し上げる必要がありrefspecsを指定できますマスターがバグのように思えるかもしれません。あるいは、次のフェッチが起源を更新するのを待っているかもしれません。ポールによって示唆されるように、私はhttps://bugs.eclipse.org/bugs/enter_bug.cgi?product=EGit&component=UI

PW

4

でバグを開くだろう、私はEGitのBugzillaにbugを開いて、そこに説明しました。

"Push ..."を使用すると、EGit PushWizardはJGitのコマンドを、名前ではなくリポジトリURIで呼び出します。そのため、JGitはリモートトラッキングブランチを更新できません。

バグはまだ開いているので、今後のリリースでは、「Configured remote repository」から「Push ...」を実行すると、リモートトラッキングブランチが更新されることが期待されます。

0

プッシュ...ダイアログを開き、あなたは、タグを含め、HEADのような特殊なケース押し上げなければならないrefspecsを指定できます:プッシュで

など、レフリー/ヘッド/マスターを追加設定 Git Repositoriesビューまたは Package Explorerビューのいずれかから利用できますが、正しいオプションを選択する必要があります。 Git Repositoriesビューから

  1. は、レポの名前を右クリックします。
  2. Remotesフォルダを展開Push
  3. クリックNext

OR

  1. を選択してください。origin
  2. 上で右クリックし
  3. Advancedボタン

(あなたはまた、Push上で右クリックして、Advancedボタンを押しConfigure Push...に行き、その後originを拡張することができます)

をクリック Configure Push...
  • を選択します。

    よりPackage Explorerビュー

    1. プロジェクトフォルダ(一番上の項目)を右クリックします。 >Push - -
    2. Team - >Remote>Next(上記の手順で "詳細" ボタンを押すのと同じ。)

    OR

    1. プロジェクトフォルダを右クリックします(一番上の項目)。
    2. Team - >Remote - >Configure Push to Upstream...