7

私はMercurialユーザーですが、リモートブランチの動作について混乱しています。リモートブランチがあり、ローカルブランチorigin/devに複製したいと思いdevます。私が欲しいのはそれです:

  • いつでも、へgit pullの変更origin/devはにマージされますdev
  • いつでも、へgit pushの変更devはにマージされますorigin/dev

だから私は追跡ブランチを作成しました

git branch --track dev origin/dev

私の知る限り、これは私が必要としていることを正確に実行するはずです。

それでも、私は機能ブランチに取り組んでいて、を発行しましたgit pull。後で発行したときgit checkout dev、不可解なメッセージを受け取りました

あなたのブランチは2つのコミットによって'origin/ master_dev'の後ろにあり、早送りすることができます。

結局、私のローカルブランチは更新されなかったようです。プルして現在そのブランチにいないときはいつでも、ブランチをリモートブランチに更新する方法はありますか?git mergeそうでない場合は、ブランチdevで(引数なしで)状況を復元するのに十分であることを修正しますか?

4

1 に答える 1

5

このコマンドgit pullは、すべてのリモートブランチから更新をフェッチします(つまり、すべてのリモートトラッキングブランチを更新します)。ただし、現在のブランチのみをマージします。git pullこれは、引数が渡されなかった場合のデフォルトの動作です。

のときにdiffブランチを使用しgit pullていたため、のリモートトラッキングブランチが更新されましたdev。これgit mergeで、ローカルブランチを更新するのに十分devです。

于 2012-07-26T09:50:15.487 に答える