如题,问题详情如下图
问题原因
Git 不知道你要pull远程的哪个分支.
如果此时使用命令行,输入 git pull 可以查看详细的错误提示为:
There is no tracking information for the current branch.
命令行详情如下图:
解决方案
解决如上的问题很简单.在问题图片中已经有了解决方案:
方案 1
- 检查远程分支是否存在
- 使用
git pull <remote name> <remote branch name> 命令
方案 2
- 检查远程分支是否存在
- 如果存在,并且希望当前分支每次执行 git pull 时都merge相同的远程分支,则使用如下命令配置本地分支 track远程分支
git branch --set-upstream-to=<remote name>/<branch name> <local branch name>
例:
git branch --set-upstream-to=origin/master master
分析学习
- idea 中的 update 使用的是什么方式?
如下图,用的是 git pull 等.这些git 命令都没有指定远程分支.因此使用Idea会有如题错误提示.
- 执行git branch –set-upstream-to=…命令,Git做了什么?
- 了解Git的配置文件
Git 的配置文件有3种,存放在3个路径下;配置优先级递减.即库级配置优先级最高.
序号 | 描述 | 存放位置 | 查看命令 |
---|---|---|---|
1 | 库级配置 | 代码库的 .git/config | 进入代码存放位置后,使用命令 git config -e |
2 | 全局配置 | 用户目录下. 例 /Users/用户名/.gitconfig | 任意位置,打开命令窗口,使用命令 git config -e --global |
3 | 系统配置 | 根据Git安装目录不同而不同. 例: /usr/local/etc/gitconfig | 任意位置,打开命令窗口,使用命令 git config -e --system |
- 而命令 git branch –set-upstream-to =… 是修复库级设置. 执行命令后,库级配置会增加如下代码段,可以去自己验证下.
[remote "origin"]
url = 代码库地址
fetch = ...
[branch "master"]
remote =...
merge = ...