[解決済み] リモートの <ブランチ名> とマージするように設定されていますが、そのような参照は取得されませんでしたか?
質問
pullでこのエラーが発生します。
設定により、ref refs/heads/feature/Sprint4/ABC-123-Branch' ですが、リモートから そのような参照はフェッチされました。
このエラーは、他のブランチでは発生しません。
このブランチの特別な点は、別のブランチの前のコミットから作成されていることです。
私のコンフィグファイルはこんな感じです。
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
hideDotFiles = dotGitOnly
[remote "origin"]
url = <url here>
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[branch "new-develop"]
remote = origin
merge = refs/heads/new-develop
[branch "feature/Sprint4/ABC-123-Branch"]
remote = origin
merge = refs/heads/feature/Sprint4/ABC-123-Branch
解決方法は?
これは何を意味するのか
あなたの上流-あなたが呼び出すリモート
origin
-という名前のブランチはもう存在しないか、あるいはもともと存在しなかったかもしれません (この情報だけでは判断できません)。
feature/Sprint4/ABC-123-Branch
. それは、誰かが (おそらくあなたではない、あるいは覚えているはずの) 他の Git リポジトリのブランチを削除してしまったからです。
どうすればいいのか
これは、あなたが何をしたかによります。 欲しい . 以下のディスカッションセクションを参照してください。 できます。
- リモートでブランチを作成または再作成する、または
- ローカルブランチを削除する、または
- 他に思いつくもの
ディスカッション
を実行している必要があります。
git pull
(もし、あなたが
git merge
を実行すると、別のエラーメッセージが表示されるか、エラーメッセージがまったく表示されないでしょう。)
を実行すると
git fetch
に基づいて、あなたのGitは別のGitに連絡します。
url
の下にある行を
[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は、これらのブランチ名それぞれを
変更
に従って
fetch
の行は、その同じ
remote
セクションを作成します。 この場合、あなたのGitは
refs/heads/master
で
refs/remotes/origin/master
といった具合に。 Gitは、出てきたすべてのブランチ名に対してこれを行います。
また、元の名前も特別なファイルに記録します。
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-Branch
という名前のリモート上に今は存在しない。
origin
.
おそらく一時期は存在していて、リモート追跡用ブランチからローカルブランチを作成したのでしょう。 もしそうなら、おそらくリモート追跡ブランチがまだ残っているはずです。 誰がなぜそのブランチをリモートから削除したのかを調べたり、何かをプッシュして再作成したり、リモート追跡用ブランチやローカルブランチを削除したりといったことが考えられます。
1 まあ、それはすべて、それが行く 認める を、少なくとも。 しかし、いくつかのレフを特別に隠していない限り、リストにはすべてが含まれています。
2020年7月、編集。 新しいフェッチプロトコルがあり、リストアップを回避できます。 すべて で、Git が探していると言っている名前だけをリストアップします。 これは、膨大な数のブランチやタグを持つリポジトリに役立ちます。 しかし、Git がすべての可能な名前に興味を持っている場合は、ここにすべての名前が表示されます。
関連
-
[解決済み】現在のブランチの先端がリモートブランチより遅れているため、更新が拒否されました。
-
[解決済み】マージ後のコミットでGitエラー - fatal: マージ中に部分コミットができない
-
[解決済み】fatal: 有効なオブジェクト名ではない: 'master'
-
[解決済み】以下の追跡されていないワーキングツリーファイルは、マージによって上書きされますが、私は気にしません。
-
[解決済み】GitHub: クローンには成功したが、チェックアウトに失敗した
-
[解決済み] SourceTree error:1407742E:SSLルーチン:SSL23_GET_SERVER_HELLO:tlsv1警告プロトコルバージョン
-
[解決済み] リモートブランチにプッシュできない、ブランチに解決できない
-
[解決済み] 古いリモート git ブランチのクリーンアップ
-
[解決済み] Heroku: 異なるローカルGitブランチをHeroku/masterにプッシュする方法
-
[解決済み】Gitのワークフローとrebaseとmergeの質問
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ローカルにない作業がリモートに含まれているため、アップデートが拒否された
-
[解決済み】gitがローカルバージョンをリモートバージョンに置き換える
-
[解決済み] git pull リモートブランチがリモートの参照先を見つけることができない
-
[解決済み】Gitマージで「すでに最新」と報告されるが、違いはある
-
[解決済み] このリポジトリで別の git プロセスが実行されているようです。
-
[解決済み] fatal: EOF が早い fatal: インデックスパックが失敗した
-
[解決済み] 短いGitバージョンのハッシュを取得する
-
[解決済み] Git pull - マージする前に移動または削除してください。
-
[解決済み] VSTS Git Fetch Failed with exit code: 128
-
[解決済み] fatal: bad revision "とはどういう意味ですか?