119

ローカルブランチを削除した後の警告メッセージをよりよく理解したいだけです

'old_branch'警告:にマージされているが 'refs/remotes/origin/old_branch'、まだ にマージされていないブランチを削除していHEADます。

4

5 に答える 5

80

これは、 のブランチにプッシュされた変更があることを警告しているだけですがorigin、それらは現在チェックアウトされているブランチにマージされていないため、ローカルでのみ削除しています。

そのブランチのローカル コピーはもうないことを警告していますが、存在します。origin

リモートブランチも削除したい場合は、git push --delete origin old_branch

于 2012-08-27T18:27:06.867 に答える
40

master現在チェックアウトしていると仮定すると、 で行った変更が にold_branch存在しないことを意味しますmaster。ただし、それらold_branchon に存在しoriginます。

于 2012-08-27T18:24:11.820 に答える
9

これは、ローカル ブランチがリモートのリモート ブランチでold_branch最新であることを意味しますが、リポジトリのメイン ブランチと見なされるブランチにはマージされません。old_branchoriginmaster

これは git からの単なる予防措置です。ヒントが得られます: トピック ブランチで作業を行い、それをメイン ブランチにマージするのを忘れたのではないでしょうか?


アップデート

Git は、変更が失われないように警告します。たとえばold_branch、マスター git がない場合は、マスターにマージされていないブランチを削除することさえ許可しないでください (許可されますが、キー-Dforce-deleteオプションです)。

于 2015-03-06T06:10:02.813 に答える
8

他の回答に追加すると、これは変更がマスターにマージされる可能性があることも意味しますが、マスターのローカルコピーにはまだ反映されていません。どちらの方法でも、これは、マスターのローカル コピーに、オリジンにプッシュした変更がないことを通知するだけです。マージされた/マージされていない...多分、多分ない

于 2015-03-06T06:01:37.510 に答える
5

ここでのいくつかの回答は完全に正しいですが、質問を完全に解決していないようです。ということで、また挑戦してみます。

OP質問の言い換え

プル リクエストを実行し、GitHub/Bitbucket/etc のブランチを削除した後。PR を完了することによって自動的に、ブランチをローカルで削除すると、次のエラーが表示されます。warning: deleting branch 'old_branch' that has been merged to 'refs/remotes/origin/old_branch', but not yet merged to HEAD.

タイムラインについて

GitHub やその他のリモート リポジトリは、マシンのローカル状態を把握していません。

プル リクエストが完了し、元の PR ブランチを削除するよう提案された場合、ローカル ブランチは認識されません。

この時点で、ローカル ブランチを削除します。あなたのローカルレポ/コンピュータはこのタイムラインを知っています:

  1. myfeature==> origin/myfeature(myfeatureリモートリポジトリにプッシュされました)
  2. その後myfeature削除されます
  3. ローカルorigin/myfeature表現がなくてもまだ存在します

もちろん、origin/myfeaturePR が完了したときにブランチが破棄されたため、これは正しくありませんが、ローカル コンピューターはこれを認識していません。そのため、Git は警告を表示します。

GitHub/BitBucket/etc にすべきではありません。もっと簡単に?

なぜなら

PR 完了 ==> リモート ブランチが削除されました

パラダイムは非常に一般的です。おそらく、リモート ブランチがローカル ブランチにこの発生を何らかの方法で通知した場合に便利です。しかし、Git は、情報を要求するだけで要求されていない情報を送信しない「一方向通信」で非常にうまく機能しています。ある領域での「双方向」通信は、人々が他の領域でもそれを望むようになる可能性が高く、すぐに Git に戻り、SVN や他の「中央リポジトリ」パラダイムのように見えるようになりました。私よりもよく知っている人なら、この「双方向通信」が引き起こすすべての問題をより詳しく説明できるでしょう。

于 2021-02-01T14:17:32.523 に答える