これが意味すること
あなたのアップストリームorigin、つまりあなたが呼ぶリモートは、という名前のブランチをもう持っていないか、持っていなかったかもしれません(この情報だけから判断することは不可能です)feature/Sprint4/ABC-123-Branch。これには特に一般的な理由が1つあります。誰か(おそらくあなたではない、またはあなたが覚えているはずではない)が、他のGitリポジトリのブランチを削除したためです。
何をすべきか
これは何をしたいかによります。以下の説明セクションを参照してください。あなたはできる:
- リモートでブランチを作成または再作成する、または
- ローカルブランチを削除する、または
- あなたが考えることができる他の何か。
討論
実行している必要がありますgit pull(実行しているgit merge場合は、別のエラーメッセージが表示されるか、エラーメッセージがまったく表示されません)。
を実行するとgit fetch、構成のセクションのurl下にある行に基づいて、Gitが別のGitに接続し[remote "origin"]ます。そのGitはupload-pack、とりわけGitにすべてのブランチのリストを送信するコマンド()を実行します。git ls-remoteこれがどのように機能するかを確認するために使用できます(試してみてください、それは教育的です)。これをGitリポジトリで実行すると、次のようになりますgit。
$ git ls-remote origin
From [url]
bbc61680168542cf6fd3ae637bde395c73b76f0f HEAD
60115f54bda3a127ed3cc8ffc6ab6c771cbceb1b refs/heads/maint
bbc61680168542cf6fd3ae637bde395c73b76f0f refs/heads/master
5ace31314f460db9aef2f1e2e1bd58016b1541f1 refs/heads/next
9e085c5399f8c1883cc8cdf175b107a4959d8fa6 refs/heads/pu
dd9985bd6dca5602cb461c4b4987466fa2f31638 refs/heads/todo
[snip]
refs/heads/エントリが、リモートに存在するブランチの全てをリスト、1対応と一緒に(のIDをコミットrefs/tags/エントリIDがコミットではなく、オブジェクトタグを指すことができます)。
Gitはこれらの各ブランチ名を取得し、同じセクションの行に従って変更します。この場合、あなたのGitは置き換えて、たとえば、。あなたのGitは出くわすすべてのブランチ名でこれを行います。fetchremoterefs/heads/masterrefs/remotes/origin/master
また、元の名前を特殊ファイルに記録しますFETCH_HEAD(自分の.gitディレクトリを覗くと、このファイルが表示されます)。このファイルは、フェッチされた名前とIDを保存します。
このgit pullコマンドは、便利なショートカットとして意図さgit fetchれています。適切なリモートで実行され、セクションのgit merge指示に従ってgit rebaseマージ(またはリベース)するために必要な引数を使用して(または、指示された場合は)実行され[branch ...]ます。この場合、[branch "feature/Sprint4/ABC-123-Branch"]セクションはからフェッチしてorigin、という名前で見つかったIDとマージするように言っていますrefs/heads/feature/Sprint4/ABC-123-Branch。
その名前で何も見つからなかったので、git pull文句を言ってやめます。
これを2つの個別のステップとして実行し、git fetchその後git merge(またはgit rebase)に実行した場合、Gitはキャッシュされたremotes/origin/リモート追跡ブランチを調べて、何をマージまたはリベースするかを確認します。一度にそのようなブランチがあった場合でも、リモート追跡ブランチがある可能性があります。この場合、エラーメッセージは表示されません。そこに、このような枝はなかった、またはあなたが実行している場合場合git fetchに--prune(デッドリモート追跡の枝を除去する)ので、あなたは何の対応するリモート追跡ブランチを持っていないことを、あなたは苦情になるだろうが、それはを参照してしまうorigin/feature/Sprint4/ABC-123-Branch代わりに。
どちらの場合も、feature/Sprint4/ABC-123-Branchnamedのリモートには現在存在しないと結論付けることができますorigin。
それはおそらく一度に存在し、おそらくあなたはリモート追跡ブランチからローカルブランチを作成したでしょう。その場合は、おそらくまだリモート追跡ブランチがあります。リモートからブランチを削除したユーザーとその理由を調べるために調査するか、何かをプッシュしてブランチを再作成するか、リモート追跡ブランチやローカルブランチを削除します。
1ええと、少なくともそれが認めようとしているすべてのこと。しかし、特にいくつかの参照を隠していない限り、リストにはすべてが含まれています。