3

リモートブランチの特定のタグにプルしようとしています (フェッチでも同じ問題が発生します)。私は実行しようとしています:

 git pull origin v0.0.2.1

v0.0.2.1 は私のタグの名前です。次のエラー メッセージが表示されます。

fatal: Couldn't find remote ref v0.0.2.1
fatal: The remote end hung up unexpectedly

「v0.0.2.1」をそのタグのハッシュまたはタグが参照するコミットのハッシュに置き換えると、同じエラー メッセージが表示されます。

リモートに実際にこのタグとこのコミットがあることを確認しました(実際、このリポジトリを持つ別のマシンで上記のコマンドを正常に実行できます)。これらのマシンの両方で .git/config ファイルが同じであることを確認しました。

以下は引き続き機能します。

 git pull origin HEAD

また、私は使用しました

git ls-remote origin

そして、私は(とりわけ)以下を取得します:

016d51475640e738b24cce2fb4019649ed81fa6b    refs/tags/v0.0.2.1

誰が何が起こっているのか知っていますか?

私は回避策を見つけました: 次の作品:

 git pull origin refs/tags/v0.0.2.1

これは私の仕事では機能しますが、なぜこれが機能し、他のアプローチが機能しないのかについてもっと知りたいです。誰かが素晴らしいだろう説明を提供することができれば。

4

1 に答える 1

0

のバージョン1.7.0から1.7.9の変更ログを読むgitと、説明につながる可能性のあるいくつかのエントリが見つかります。リモート側でのref-lookupの実行方法が変更されました(処理を高速化するため)。

これは、バージョン1.7.0がrefs/tags/<tagname>フェッチを必要とし、1.7.10が必要としない理由を説明できます。

于 2013-02-05T22:43:43.483 に答える