我不确定为什么这不起作用。当我执行 git branch -a
时,这是我看到的:
我正在尝试从在线 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
)
你有下一个选择:
每次在pull/push 命令中指定远程分支(区分大小写):
git pull origin 下载管理器
或
git pull origin downloadmanager:DownloadManager
在下一次推送时指定跟踪分支:
git push -u origin 下载管理器
(-u 是 --set-upstream 的缩写形式)
这将在配置中自动保留 downloadmanager:DownloadManager 链接(与下一步相同的结果)。
在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/