2

よくわからないので、git pullリモート更新を取得するために常に(引数なしで)至福に使用していました。

ブランチを使用するようになったので、これは私を悩ませるために戻ってきました。

を実行した後git pull、リモートではブランチがマージされていないのに対し、ローカル マスターは他のブランチともマージされていることに気付きました。

私はこれがどのように起こったのかを理解しようとしているので、将来再びそれを避けることができますが、今のところ運がありません.

.git/config ファイルに奇妙なものは何も入れていません。

4

2 に答える 2

1

では、git pull を実行すると、他のブランチが現在のブランチにマージされるはずですか?

いいえ:git pull現在チェックアウトされているブランチをそのリモート追跡ブランチ ' origin/branch' とのみマージします。
見る:

「 「追跡ブランチ」および「リモート追跡ブランチ」</a>」も参照してください。

gitプル


複数のリモートを宣言できたとしても、それらすべてを 1 ステップでプルすることはできません (「複数のリモート ロケーションからのプル/プッシュ」を参照してください)。

于 2012-11-20T13:49:18.487 に答える
0

この回答を参照してください:

簡単に言うと、「git pull」は「git fetch」の後に「git merge」を実行します。

将来的には、git fetch代わりにgit pull.

[元の回答]あなたが経験することは、おそらく正しい動作 (およびあなたが望む動作) です。

次の状況を想像してください。開発者 X は、ブランチでいくつかの重要な機能を完成させました。彼女はそれをマスターにマージします。

彼女がそれを押すと、あなたが引くとどうなりますか?

現在の解決策は、マスター ブランチのコピーを更新して、彼女のすべての作業 (機能 + マージ) を表示および取得することです。

これにより、master ブランチで開発するときに問題が発生する可能性があります。

解決策は、各開発者が常にブランチで作業するようにすることです。開発者ごとに 1 つのブランチを作成するか、機能/バグごとに 1 つのブランチを作成します。

こうすることで、各開発者はいつマスターとマージするか (作業 -> マスター)、マスターの変更で作業ブランチをいつ更新するかを決定できます。

詳細:

  • 成功する Git ブランチ モデル
  • hginit.com - これは Mercurial 向けですが、非常によく書かれており、基礎となるテクノロジが非常に似ているため、Git ユーザーにとっても読みやすいものです。
于 2012-05-16T12:10:25.983 に答える