3

私たちのプロジェクトでは、常にローカル IP アドレスをオリジンとして使用してきました。現在、オンサイトでの作業に移行しており、リモート IP を使用してプッシュ/プルする必要があります。

manage remotesオプションを使用して新しい IP を保存し、origin_remoteそこにコードをプッシュしようとしましたが、何らかの理由でこの警告 (または情報メッセージ) が表示されます。私が何か間違ったことをしているのかどうかはよくわかりません。IPを変更して本質的に同じリポジトリにプッシュしているだけなので、操作はスムーズではないでしょうか? git が新しいブランチだと教えてくれるのはなぜですか?

4

3 に答える 3

0

VonCによってすでに正しく回答されていますが、いくつかの追加の詳細があります:

Git 拡張機能は、ローカル ファイルのみをチェックconfigして、この誤った非常に問題のある仮定を行います。

ローカル リポジトリは複数のリモートを持つことができますbranchが、ファイル内のブランチごとに 1 つのセクションしか持つことができず、ブランチを特定のリモートにマッピングします (ブランチをより多くのリモートにマッピングすることは意味がありconfigません。andコマンドbranchを簡略化するためにのみ使用され、 and引数を省略できます)。pushpullremotebranch

リポジトリに複数のリモートが指定されているが、もちろんセクションがそのうちの 1 つにしかマップされていない (私たちのような) シナリオでは、これらのセカンダリbranchリモートの 1 つにプッシュしようとするたびに、この警告が表示されます。慣れていれば大丈夫ですが、初めて見た人にとっては、避けなければならない何か問題が発生しようとしているという考えをすぐに与えるので、問題になります.

メッセージ自体が紛らわしいです。この言い方は、Git 拡張機能が実際にリモート リポジトリに接続し、それを調べて、そこにブランチが存在しないことを発見したという考えを与えます。しかし、これは事実ではなく、ブランチはリモート リポジトリの に既に存在します/refs。Git 拡張機能はローカルconfigファイルのみをチェックしたため、メッセージは誤った情報を提供します。

通常、Git 拡張機能は、このようなメッセージを表示する前にリモート リポジトリに接続する必要がありますが、この場合でもpush、リモート リポジトリのブランチを削除することもできるのと同じように、新しいブランチをプッシュしても問題はありません。 Git 拡張機能はローカル ファイルのみをチェックします。追加するよりも危険configですが、警告がまったく表示されない可能性があります。

于 2014-02-18T21:20:11.770 に答える