git pull 远程分支找不到远程引用

标签 git

我不确定为什么这不起作用。当我执行 git branch -a 时,这是我看到的:

enter image description here

我正在尝试从在线 GitHub 存储库上的 DownloadManager 中提取。我试过了

  • git pull,但随后它提示不知道从哪个分支 pull
  • git pull origin,不知道是哪个分支
  • git pull origin downloadmanager 致命:找不到远程引用下载管理器。命令流意外结束
  • git pull origin remotes/origin/DownloadManager '致命找不到远程引用 remotes/origin/DownloadManager。命令流意外结束

有什么我想念的吗?在 Xcode 中,当我尝试连接到存储库时,什么也没有显示。我过去一直能够 push 它。但在 pull 最新更改之前,我无法再次推送。

最佳答案

小心 - 本地和远程分支之间存在大小写混合!

假设你现在在本地分支 downloadmanager (git checkout downloadmanager)

你有下一个选择:

  1. 每次在pull/push 命令中指定远程分支(区分大小写):

    git pull origin 下载管理器

    git pull origin downloadmanager:DownloadManager


  1. 在下一次推送时指定跟踪分支:

    git push -u origin 下载管理器

    (-u--set-upstream 的缩写形式)

    这将在配置中自动保留 downloadmanager:DownloadManager 链接(与下一步相同的结果)。


  1. 在git config中设置默认远程跟踪分支:

    git branch -u downloadmanager origin/DownloadManager

    (请注意,因为 branch 命令 -u 的 git 1.8 是 --set-upstream-to 的缩写形式,它是与弃用的--set-upstream有点不同)

    或手动编辑配置(我更喜欢这种方式):

    git 配置 --local -e

    -> 这将打开编辑器。在下面添加 block (猜测,在“master” block 之后):

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

在任何这些步骤之后,您可以轻松使用:

git pull

如果你使用 TortoiseGit: 右键单击 repo -> TortoiseGit -> 设置 -> Git -> 编辑本地 .git/config

关于git pull 远程分支找不到远程引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11552437/

相关文章:

git - 致命的 : unable to access cannot resolve host gitlab error when using HTTPS git repository

陈旧分支的 git merge 或 rebase?

Git 通过有限的 ssh 推送到实时服务器

同一项目的 Git 私有(private)和公共(public) repo

git bash 自动完成在 Windows 7 x64 上很慢

git - 使用 git 将跟踪文件移动到未跟踪文件

git - 适用于GIT的Visual Studio工具-FETCH/PUBLISH与PULL/PUSH

git - 移动到另一个分支和 'saving' 当前更改

ruby - Rugged - 获取、 pull rebase 可能吗?

git - 如何直接从我的 Gitlab 存储库部署到 Heroku