官方说明:https://git-scm.com/docs/git-pull
git pull 作用是将远程仓库中的更改合并到当前分支中
格式:
git pull [<options>] [<repository> [<refspec>…]]
默认模式下,相当于 git fetch + git merge FETCH_HEAD 命令。
更准确的说是,git pull 相当于: 先执行git fetch + 指定参数,然后执行git merge 命令将检索到的分支合并到当前分支。
下面是git pull的过程:
1.git fetch origin master 先拉取,让本地的origin/master先更新到最新。
A---B---C master on origin
/
D---E---F---G master
2.git merge origin/master
A---B-----C origin/master
/
D---E---F---G--- H master
解决git pull与本地文件冲突。
出错信息如下:
error: Your local changes to 'c/environ.c' would be overwritten by merge. Aborting.
Please, commit your changes or stash them before you can merge.
1.将本地修改暂存起来。
git stash
//可以看到stash@{0}.... 暂存的信息
2.pull把远端内容下载下来。
git pull origin master
3.合并暂存内容的冲突部分到文件。
git stash pop stash@{0}
//会提示冲突的文件
4.解决文件中冲突的部分
依次打开上一步提示的冲突文件,会看到标记出来的冲突内容,修改后就可以提交了