104

なぜこれが機能しないのかわかりません。私がそうするときgit branch -a、これは私が見るものです:

ここに画像の説明を入力してください

オンラインのGitHubリポジトリのDownloadManagerからプルしようとしています。私が試してみました

  • git pullですが、どのブランチからプルするかわからないと文句を言います
  • git pull origin、どのブランチかわからない
  • git pull origin downloadmanagerfatal: Couldn't find remote ref downloadmanager. Unexpected end of commands stream
  • git pull origin remotes / origin / DownloadManager'fatal couldn't find remote ref remotes/origin/DownloadManager. Unexpected end of commands stream

足りないものはありますか?Xcodeで、リポジトリに接続しようとすると、何も表示されません。私は過去にそれにプッシュすることができました。ただし、最新の変更をプルするまで、再度プッシュすることはできません。

4

16 に答える 16

95

注意してください-ローカルブランチとリモートブランチの間でケースが混在しています!

あなたが今ローカルブランチのダウンロードマネージャーにいるとしましょう(git checkout downloadmanager

次のオプションがあります:

  1. 毎回プル/プッシュコマンドでリモートブランチを指定します(大文字と小文字が区別されます)。

    git pull origin DownloadManager

    また

    git pull origin downloadmanager:DownloadManager


  1. 次のプッシュでトラッキングブランチを指定します。

    git push -u origin DownloadManager

    -u--set-upstreamの短縮形です)

    これにより、構成内のdownloadmanager:DownloadManagerリンクが自動的に保持されます(次の手順と同じ結果)。


  1. gitconfigのデフォルトのリモートトラッキングブランチで設定します。

    git branch -u downloadmanager origin/DownloadManager

    (ブランチコマンド-uのgit 1.8は--set-upstream-toの短縮形であるため、非推奨の--set-upstreamとは少し異なります)

    または手動で構成を編集します(私はこの方法を好みます):

    git config --local -e

    ->エディタが開きます。以下にブロックを追加します(「マスター」ブロックの後に推測します):

    [branch "downloadmanager"]
            remote = origin
            merge = refs/heads/DownloadManager
    

これらの手順のいずれかを実行すると、簡単に使用できます。

git pull

TortoiseGitを使用する場合:リポジトリを右クリック->TortoiseGit->設定->Git->ローカルの.git/configを編集

于 2012-07-19T09:56:41.780 に答える
19

このエラーは、ローカルリポジトリが最初にリモートブランチを識別できないために発生します。したがって、最初にそれを行う必要があります。次のコマンドを使用して実行できます。

git remote add origin 'url_of_your_github_project'

git push -u origin master
于 2015-05-16T18:12:21.763 に答える
10

Gitのブランチ名では、大文字と小文字が区別されます。Gitが「見る」ブランチの名前(正しいケーシングを含む)を表示するには、次を使用します。

git branch -vv

...使用する正しいブランチ名が表示されたので、次のようにします。

git pull origin BranchName 

ここで、「BranchName」はブランチの名前です。ケースが正しく一致していることを確認してください

したがって、OP(元のポスター)の場合、コマンドは次のようになります。

git pull origin DownloadManager
于 2016-02-24T06:24:44.783 に答える
10

これらの答えのいずれも機能しない場合は、.git/config問題を引き起こすブランチへの参照をファイルで探し、それらを削除することから始めます。

于 2019-02-22T10:40:40.687 に答える
8

私にとっては、Githubからすでに削除されているブランチをプルしようとしていたためです。

于 2018-01-04T06:14:21.020 に答える
5

GitHubがデフォルトのブランチ名をmasterからmainに変更したため、同じ問題が発生したため、 git pull origin master機能しませんでした。

これを試してください
git pull origin main 問題がブランチ名の競合が原因である場合、これはあなたを救うでしょう。

于 2021-03-18T15:49:45.567 に答える
5

リモートブランチが削除された(または名前が変更された)場合、その古いブランチをフェッチしようとすると、このようなエラーが発生する可能性があります。

$ git fetch --prune --all

  Fetching origin
  fatal: couldn't find remote ref refs/heads/old-branch
  error: Could not fetch origin

それでも古いブランチを参照している場合は、ローカルのgitconfigを確認してください。

  $ git config --get-all remote.origin.fetch

    +refs/heads/*:refs/remotes/origin/*
    +refs/heads/old-branch:refs/remotes/origin/old-branch
    +refs/heads/master:refs/remotes/origin/master

古いrefsエントリを削除すると、フェッチの問題を修正できます。

$ git config --unset-all remote.origin.fetch

$ git fetch --prune --all
  Fetching origin
  ...
   * branch            HEAD       -> FETCH_HEAD
于 2021-04-21T16:49:51.147 に答える
2

リモートブランチを追跡するようにローカルブランチを設定する必要があります。これは、大文字と小文字が異なる場合は自動的に実行されません。

試す:

git branch --set-upstream downloadmanager origin/DownloadManager
git pull

アップデート:

'--set-upstream'オプションはサポートされなくなりました。

git branch --set-upstream-to downloadmanager origin/DownloadManager
git pull
于 2012-07-19T09:19:44.873 に答える
2

master私の場合、このエラーは、Githubがデフォルトのブランチに対して行った名前の変更が原因で発生しました。main

したがって、使用する代わりに、

git pull origin master

使用できます、

git pull origin main
于 2021-09-06T10:20:06.387 に答える
1

これは、リモートブランチ名が「DownloadManager」であるためです。ブランチをチェックアウトするときに、このブランチに新しい名前「downloadmanager」を付けると思います。

ただし、これは単なるローカル名であり、リモート参照名ではありません。

于 2012-07-19T09:16:47.623 に答える
1

リポジトリでブランチを確認してください。多分誰かがそれを削除します。

于 2019-05-28T12:12:05.123 に答える
0

私の場合、リモートブランチが見つからなかったために失敗していました(前回のマージ実行で削除されました)。

于 2021-04-27T16:52:20.000 に答える
0

私の場合、私がABC-100行ったときにブランチのキャピタライゼーションが間違っていたので、git checkout abc-100それを処理しました。私の解決策は、からコードをマージしabc-100てからABC-100削除することabc-100でした。

于 2021-08-12T09:27:28.100 に答える
0

私の場合、ローカルブランチにサーバーから削除されたブランチがありました

ローカルブランチから削除するだけで、プルは期待どおりに機能します

于 2022-02-11T09:46:53.613 に答える
-1

再起動してVSCodeの最後のコピーを再度開いたときに、この問題が発生しました。上記の修正は機能しませんでしたが、エクスプローラーを介してVSCodeを閉じて再度開くと、機能しました。これが私がしたステップです:

//received fatal error
git remote remove origin
git init
git remote add origin git@github:<yoursite>/<your project>.git
// still received an err 
//restarted VSCode and folder via IE 
//updated one char and resaved the index.html  
git add .
git commit -m "blah"
git push origin master

于 2020-04-19T02:51:01.323 に答える
-2

私自身の場合、「マスター」から「メイン」に変更しただけで、リモートリポジトリからプルすることができました。

于 2021-06-29T10:38:03.183 に答える