Skip to content

Latest commit

 

History

History
17 lines (11 loc) · 1.53 KB

06-远程仓库拉取.md

File metadata and controls

17 lines (11 loc) · 1.53 KB

假设写好了本地代码,计划推送至远程分支。

  1. 首先,可以试图用 git push origin <remote_branch> 推送自己的修改;

  2. 如果推送失败,表明远程分支有比本地分支更新的内容(可能是合作人员在自己上一次 git pull / git clone 之后提交了他修改后的内容),需要先用 git pull 试图合并:

    • 如果合并有冲突,则解决冲突,并在本地提交;

    • 没有冲突或者解决掉冲突后,再用 git push 推送。

命令 git pull 的含义在大多数情况下是一个 git fetch <remote> 紧接着一个 git merge 命令。

git fetch 命令会访问远程仓库 <remote>,从中拉取所有你还没有的数据。执行完成后,你将会拥有那个远程仓库中所有分支的引用,可以随时合并或查看。当 git fetch 命令从服务器上抓取本地没有的数据时,它并不会修改工作目录中的内容,它只会获取数据然后让你自己合并。

如果有一个像之前章节中演示的设置好的跟踪分支,不管它是显式地设置还是通过 clonecheckout 命令为你创建的,git pull 都会查找当前分支所跟踪的服务器与分支,从服务器上抓取数据然后尝试合并入那个远程分支。

如果 git pull 提示 no tracking information,则说明本地分支和远程分支的追踪关系没有创建,用之前介绍的方式设置上游追踪分支即可:git branch --set-upstream-to=<remote>/<remote_branch> <local_branch>